用C语言编写的代码程序是一个源程序。 以下不构成无限循环的语句或语句组是n=0; do{++n;}while(n<=0);。 已知int i,sum=0;执行以下程序段后的sum的值是16.for(i=7;i>=1;i=i-2){sum+=i;} 已知int i,sum=0;执行以下程序段后的sum的值是4.for(i=1;i<5;i=i+2){sum+=i;} /*———————————————— 【程序设计】 – Guo S.
题目:编写函数fun(int n1, int n2),函数的功能是: 统计n1到n2之间(含n1和n2), 有几个素数。函数返回素数的个数。 提示:n1和n2的大小关系不确定,即无论n1和n2大小关系如何,函数fun均可对应。 比如,当n1为6, n2为8时,函数返回1,因为包括6和8,只有一个素数7 比如,当n1为8, n2为6时,函数也同样返回1,因为包括8和6,只有一个素数7
注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 *********Begin**********和********** End **********不可删除 ————————————————*/ #include “stdio.h” #include “math.h” void bky(void); int fun(int n1, int n2) { /**********Begin**********/ /********** End **********/ } main() { int k,n1,n2; printf(“请输入两个整数(用空格隔开):”); scanf(“%d%d”,&n1,&n2); k=fun(n1,n2); printf(“%d和%d之间,有%d个素数\n”,n1,n2,k); bky(); } void bky(void) { FILE _IN,_OUT; int iIN1, iIN2,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<6;i++) { fscanf(IN,”%d%d”,&iIN1,&iIN2 ); iOUT=fun(iIN1, iIN2); fprintf(OUT,”%d\n”,iOUT); } fclose(IN); fclose(OUT); return ; } 【参考代码】 int num=0, i, j, k, flg; if(n1>n2){//确保n1小于n2 i=n1; n1=n2; n2=i; } for(i=n1;i<=n2;i++) { flg=1; for(k=2;k<=sqrt(i);k++) // i-1, i/2均可 { if(i%k==0) { flg=0; break; } } if(flg) num++; } return num; =============== 【考生代码】 int i,j,t,b,s; if(n1<n2){t=n1; n1=n2; n2=t; } for(i=n1;i<n2;i++){b=1; for(j=2;j<=i/2;j++) if(i%j==0){b=0;break; } if(b!=0) s++; return s; }
代码准确率:100.00%,得分比例:0.40 程序编译检测:编译成功,得分比例:0.40 程序结果检测:结果错误,得分比例:0.00