2019年11月6日错题 如有整型变量a,则表达式a=3_5,a_4,a+5的值为__________。 【参考答案】 错误 C.20 【学生答案】 B.15 – 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C, 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是________。 【参考答案】 错误 D.scanf(“x=%d%d%c%c%c”,&x,&y,&a,&b,&c); 【学生答案】 C.scanf(“x%d y=%d”,&x,&y); a=getch();b=getch();c=getch(); – 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式________ 【参考答案】 错误 A.可用任意表达式 【学生答案】 C.只能用逻辑表达式或关系表达式 – 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。 【参考答案】 错误 C.x=(int)(x*100+0.5)/100.0 【学生答案】 A.x=(x*100+0.5)/100.0 – 存在多层嵌套循环时,下列说法正确的是(). 【参考答案】 错误 D.break语句能够中止包含该语句的最内层循环 【学生答案】 C.break语句可以中止所有循环 – 运行下面程序时,从键盘输入字母H,则输出结果是(). #include<stdio.h> main() { char ch; ch=getchar(); switch(ch) { case ‘H’:printf(“Hello!”); case ‘G’:printf(“Goodmorning!”); default:printf(“ByeBye!\n”); } } 【参考答案】 错误 C.Hello! Good morning! ByeBye! 【学生答案】 B.Hello! Good Moring! – 以下叙述正确的是(). 【参考答案】 错误 B.只能在循环体内和switch语句体内使用break语句 【学生答案】 D.contiune语句的作用是结束整个循环的执行 – 以下运算符优先级由低到高的顺序正确的是()。 【参考答案】 错误 D.赋值运算符,关系运算符,算术运算符 【学生答案】 C.算术运算符,赋值运算符,关系运算符 – 有以下程序: #include<stdio.h> main() { int a=6,b=7,m=1; switch(a%2) { case 0:m++;break; case 1:m++; switch(b%2) { defaut:m++; case 0:m++;break; } } printf(“%d\n”,m); } 程序运行后的输出结果是(). 【参考答案】 错误 A.2 【学生答案】 C.1 – 设整型变量a=2,浮点型变量b,执行b=(float)(1/a);后b的值为0.5 。 【参考答案】 错误 错误 【学生答案】 正确 – printf(“%5d\n”,12);其中,”%5d”,指定输出数据占5列,输出的数据显示在此5列数据的左侧。 【参考答案】 错误 错误 【学生答案】 正确 – putchar()函数参数可以是字符常量、字符变量、整形常量、整形变量和字符串. 【参考答案】 错误 错误 【学生答案】 正确 – 设int a,b,c;,执行语句printf(“%d”,(a=1,b=2,c=3));后输出结果是_________。 【空 1】 错误 空比例:1 【学生答案】 123 【参考答案】 3 ============================================================ 设整型变量 m=4,a=3,b=5,c=0,执行 m=a<b<c后, m的值是______。 【空 1】 错误 空比例:1 【学生答案】 1 【参考答案】 0 ============================================================ 表达式3 !=6的值是 _______________。 【空 1】 错误 空比例:1 【学生答案】 0 【参考答案】 1 真 ============================================================ 设int a=15;,执行printf(“%d\n”,a>>2);后的输出结果是____________。 【空 1】 错误 空比例:1 【学生答案】 30 【参考答案】 3 ============================================================ –++0 /*———————————————— 【程序设计】分支if __ Guo S.
题目: 键盘一个四位整数,完成函数fun: 判断一个数n是否为雷劈数。 如果n是四位数,且是雷劈数,返回1; 如果n是四位数,且不是雷劈数,返回0; 如果n不是四位数,返回-1; 雷劈数是指: 一个数分为左右两部分,其和的平方,恰好等于这个数。 比如 3025,左右分为30和25,其和为55,而55的平方恰好等于3025,所以3025就是雷劈数; 比如 1120,左右分为11和20,其和为31,而31的平方,不等于1120,所以1120就不是雷劈数;
注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数的花括号中begin和end之间填入所编写的若干语句。 *********Begin**********和 ********** End **********不可删除 ————————————————*/ #include <stdio.h> void bky(); // 完成以下函数fun,判断n是否为雷劈数,并按照要求返回 int fun( int n) { /**********Begin**********/ /********** End **********/ } int main() { int s, re; printf(“输入一个整数:”); scanf(“%d”,&s); re=fun(s); if(re<0) printf(“不是四位数\n”); else if(re==1) printf(“%d是雷劈数\n”,s); else printf(“%d不是雷劈数\n”,s); bky(); return 0; } void bky() { FILE _IN,_OUT; int i; int score, re; float a,b,c,s; IN=fopen(“in.txt”,”r”); if(IN==NULL) { printf(“Please Verify The Currernt Dir..it May Be Changed”); return; } OUT=fopen(“out.txt”,”w”); if(OUT==NULL) { printf(“Please Verify The Current Dir.. it May Be Changed”); return; } for(i=0;i<5;i++) { fscanf(IN, “%d”,&score); re=fun(score); fprintf(OUT, “%d\n”, re); } fclose(IN); fclose(OUT); } 【参考代码】 int re, n0, n2; if(n>9999 n<1000) re=-1; else { n0 = n%100; n2 = n/100; if( (n0+n2)*(n0+n2) == n) re = 1; else re = 0; } return re; =============== 【考生代码】 int o,g,s,b,q,sun; if(n<1000) o=-1; else if(n>=1000) { g = n%10;//个 s = (n%100)/10;//十 b = n%1000/100;//百 q = n/1000;//千 sun = q_10+b+s_10+g;//上下和 sun = sun*sun;//和的平方 if(sun==n) o=1; else o=0; } return o;
代码准确率:100.00%,得分比例:0.40 程序编译检测:编译成功,得分比例:0.20 程序结果检测:结果正确,得分比例:0.32