下面程序段的运行结果是________。 x=y=0; while(x<15)y++,x+=++y; printf(“%d,%d”,y,x); 【参考答案】 错误 C.8,20 【学生答案】 D.6,12 以下不构成无限循环的语句或语句组是________。 【参考答案】 错误 C.n=0; do{++n;}while(n<=0); 【学生答案】 A.n=10; while(n);{n–;} 以下程序的输出结果是________。 void main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf(“%d\n”,a); } 【参考答案】 错误 C.31 【学生答案】 D.13 在循环嵌套中,使用break语句只可以跳出所在循环. 【参考答案】 错误 正确 【学生答案】 错误 已知int k=0;则语句while(k=1)k++;将一次也不执行. 【参考答案】 错误 错误 【学生答案】 正确 程序段int i=0; while(i=0) i=i-1;循环体语句执行_____次.(请用阿拉伯数字作答) 【空 1】 错误 空比例:1 【学生答案】 1 【参考答案】 0 零 若有int m=1,x=6;则执行下列语句后,变量x=_______。 while(m<1) m++; x++; 【空 1】 错误 空比例:1 【学生答案】 5 【参考答案】 7 七 已知int i,sum=0;执行以下程序段后的sum的值是_____.for(i=7;i>1;i=i-2){sum+=i;} 【空 1】 错误 空比例:1 【学生答案】 16 【参考答案】 15 /*———————————————— 【程序设计】 ————————————————– 题目:编写函数fun,函数的功能是:求一个 四位数的各位数字的立方和 ————————————————– 注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 *********Begin**********和********** End **********不可删除 ————————————————*/ #include “stdio.h” int fun(int n) { /**********Begin**********/ /********** End **********/ } main() { int k,n; printf(“请输入一个4位数:”); scanf(“%d”,&n); k=fun(n); printf(“k=%d\n”,k); yzj(); getch(); } yzj() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(“in.dat”,”r”); if(IN==NULL) {printf(“Please Verify The Currernt Dir..It May Be Changed”); } OUT=fopen(“out.dat”,”w”); if(OUT==NULL) {printf(“Please Verify The Current Dir.. It May Be Changed”); } for(i=0;i<5;i++) {fscanf(IN,”%d”,&iIN); iOUT=fun(iIN); fprintf(OUT,”%d\n”,iOUT); } fclose(IN); fclose(OUT); } 【参考代码】 int d,k,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; =============== 【考生代码】 int g,s,b,q,out; g=n%10/10; s=n%100/10; b=n%100/10; q=n/1000; out=g*g*g+s*s*s+b*b*b+q*q*q; return out; ———————————— 代码准确率:40.00%,得分比例:0.10 程序编译检测:编译成功,得分比例:0.40 程序结果检测:结果错误,得分比例:0.00 /*———————————————— 【程序设计】循环 – Guo S. ————————————————– 题目:编写函数fun,函数的功能是:求一个整数n的逆序返回值。 比如,当n为1234,则返回4321;当n为13579,则返回97531。 ————————————————– 注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 *********Begin**********和********** End **********不可删除 ————————————————*/ #include “stdio.h” void bky(void); // 完成函数fun,返回n的逆序 int fun(int n) { /**********Begin**********/ /********** End **********/ } main() { int k,n; printf(“请输入一个整数:”); scanf(“%d”,&n); k=fun(n); printf(“逆序后:%d\n”,k); bky(); } void bky(void) { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(“in.txt”,”r”); if(IN==NULL) { printf(“Please Verify The Currernt Dir..It May Be Changed”); } OUT=fopen(“out.txt”,”w”); if(OUT==NULL) { printf(“Please Verify The Current Dir.. It May Be Changed”); } for(i=0;i<5;i++) { fscanf(IN,”%d”,&iIN); iOUT=fun(iIN); fprintf(OUT,”%d\n”,iOUT); } fclose(IN); fclose(OUT); return ; } 【参考代码】 int x=0; while(n) { x *= 10; x += n%10; n /= 10; } return x; =============== 【考生代码】 int a,out; for(n;n>0;n) { a=n%10; n=n%10; } out+=a*10; return out; ———————————— 代码准确率:75.00%,得分比例:0.40 程序编译检测:编译成功,得分比例:0.40 程序结果检测:结果错误,得分比例:0.00 /*———————————————— 【程序设计】 ————————————————– 题目:求出菲波那契数列的前n项的和。 菲波那契数列为这样的数列:1 1 2 3 5 8 …… 注:菲波那契数列前10项的和为143 注意:部分源程序给出如下。请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 *********Begin**********和********** End **********不可删除 ————————————————*/ #include <stdio.h> void TestFunc(); long fun(int n) { /*********Begin**********/ /********** End **********/ } main() { printf(“y=%ld\n”,fun(10)); TestFunc(); } void TestFunc() { FILE *IN,*OUT; long fOUT; int n; IN=fopen(“19.IN”,”r”); if(IN==NULL) { printf(“Please Verify The Currernt Dir..it May Be Changed”); } OUT=fopen(“19.out”,”w”); if(OUT==NULL) { printf(“Please Verify The Current Dir.. it May Be Changed”); } for(n=5;n<=8;n++) {fOUT=fun(n); fprintf(OUT,”%ld\n”,fOUT);} fclose(IN); fclose(OUT); } 【参考代码】 int f1=1,f2=1,i; long f,s=2; for(i=3;i<=n;i++) { f=f1+f2; s=s+f; f1=f2;f2=f;} return s; =============== 【考生代码】 int i,out; for(i=1;i<n;i++) { i=i+i; out=i; i=n; } return out; ———————————— 代码准确率:50.00%,得分比例:0.10 程序编译检测:编译成功,得分比例:0.10 程序结果检测:结果错误,得分比例:0.00 /*———————————————— 【程序设计】 ————————————————– 题目:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) *********Begin**********和********** End **********不可删除 ————————————————*/ #include <stdio.h> #include”conio.h” void bky(); long fun(int w) { /**********Begin**********/ /********** End **********/ } main() { int m; printf(“Enter m: “); scanf(“%d”, &m); printf(“\nThe result is %ld\n”, fun(m)); bky(); } void bky() { FILE *IN,*OUT; int c ; int t; long o; IN=fopen(“in.dat”,”r”); if(IN==NULL) { printf(“Read FILE Error”); } OUT=fopen(“out.dat”,”w”); if(OUT==NULL) { printf(“Write FILE Error”); } for(c=1;c<=5;c++) { fscanf(IN,”%d”,&t); o=fun(t); fprintf(OUT,”%ld\n”,o); } fclose(IN); fclose(OUT); } 【参考代码】 long y=0; int i; for(i=1;i<=w;i++) if(i%2==1)y+=i; return y; =============== 【考生代码】 int i,out; for(i=1;i<w;) { out+=i; i=i+2; } return out; ———————————— 代码准确率:66.67%,得分比例:0.11 程序结果检测:结果正确,得分比例:0.53

站内搜索

没有找到内容!