江西计算机省二级试题及答案二级C语言上机题库
二级C语言上机考试复习资料,共有50套题目一、程序填空题 1、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主
C50 二级语言上机考试复习资料,共有套题目 正确的结果。 一、程序填空题 BLANK1.C 注意:源程序存放在考生文件夹下的中。 13 、程序通过定义学生结构体变量,存储了学生的学号、姓名和 不得增行或删行,也不得更改程序的结构! funb 门课的成绩。函数的功能是对形参所指结构体变量中的数据进行 #include <stdio.h> , 修改最后在主函数中输出修改后的数据。 void fun(char *s) :bt: 例如所指变量中的学号、姓名、和三门课的成绩依次是 {int i, j=0, k=0; char t1[80], t2[80]; 10002"ZhangQi"938587t10004 、、、、,修改后输出中的数据应为:、 for(i=0; s[i]!='\0'; i++) "LiJie "938587 、、、。 if(s[i]>='0' && s[i]<='9') , 请在程序的下划线处填入正确的内容并把下划线删除使程序得出 { 正确的结果。 /**********found**********/ BLANK1.C 注意:源程序存放在考生文件夹下的中。 t2[j]=s[i]; ___1___; 不得增行或删行,也不得更改程序的结构! } #include <stdio.h> else t1[k++]=s[i]; #include <string.h> t2[j]=0; t1[k]=0; struct student { /**********found**********/ long sno; for(i=0; i<k; i++) ___2___; char name[10]; /**********found**********/ float score[3]; for(i=0; i<___3___; i++) s[k+i]=t2[i]; }; } void fun( struct student *b) main() { {char s[80]="ba3a54j7sd567sdffs"; /**********found**********/ printf("\nThe original string is :%s\n",s); b__1__ =10004; fun(s); /**********found**********/ printf("\nThe result is :%s\n",s); strcpy(b__2__, "LiJie"); } } main() 4fun:N×N 、给定程序中,函数的功能是有矩阵,以主对角线为对 {struct student t={10002,"ZhangQi", 93, 85, 87}; 称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置 int i; 0N=3 为。例如,若,有下列矩阵: printf("\n\nThe original data :\n"); 12 3 printf("\nNo: %ld Name: %s\nScores: ",t.sno, t.name); 45 6 for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); 78 9 计算结果为 printf("\n"); 10 0 /**********found**********/ 65 0 fun(__3__); 10 14 9 printf("\nThe data after modified :\n"); 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出 printf("\nNo: %ld Name: %s\nScores: ",t.sno, t.name); 正确的结果。 for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); BLANK1.C 注意:源程序存放在考生文件夹下的中。 printf("\n"); 不得增行或删行,也不得更改程序的结构! } #include <stdio.h> 2fun 、给定程序中,函数的功能是计算下式 #define N4 /**********found**********/ void fun(int (*t)___1___ ) {int i, j; for(i=1; i<N; i++) {for(j=0; j<i; j++) { /**********found**********/ e1e-32.985678 例如,若形参的值为,函数的返回值。 ___2___ =t[i][j]+t[j][i]; , 请在程序的下划线处填入正确的内容并把下划线删除使程序得出 /**********found**********/ 正确的结果。 ___3___ =0; BLANK1.C 注意:源程序存放在考生文件夹下的中。 } 不得增行或删行,也不得更改程序的结构! } #include <stdio.h> } double fun(double e) main() {int i; double s, x; {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j; /**********found**********/ printf("\nThe original array:\n"); s=0; i=__1__; for(i=0; i<N; i++) x=1.0; {for(j=0; j<N; j++) printf("%2d ",t[i][j]); while(x>e){ printf("\n"); /**********found**********/ } __2__; fun(t); /**********found**********/ printf("\nThe result is:\n"); x=(2.0*i-1)/((__3__)*(2.0*i)); for(i=0; i<N; i++) s=s+x; {for(j=0; j<N; j++) printf("%2d ",t[i][j]); } printf("\n"); return s; } } } main() {double e=1e-3; 5funs 、给定程序中,函数的功能是:对形参所指字符串中下标为 printf("\nThe result is: %f\n",fun(e)); ASCII 奇数的字符按码大小递增排序,并将排序后下标为奇数的字符取 } p 出,存入形参所指字符数组中,形成一个新串。 sbaawrskjghzlicdap 例如,形参所指的字符串为:,执行后所指字 3fun: s 、给定程序中,函数的功能是将所指字符串中的所有数字 aachjlsw 符数组中的字符串应为:。 字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出 sdef35adh3kjsdf7 的先后次序。例如,形参所指的字符串为:。执行结 正确的结果。 defadhkjsdf3537 果为:。 BLANK1.C 注意:源程序存放在考生文件夹下的中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出

