一、填空题 请补充函数fun,该函数的功能是:统计所有小于等于x(x>2)的素数的个数,素数的个数作为函数值返回。例如,输入x=20,结果:2,3,5,7,11,13,17,19。 请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。 注意:部分源程序给出如下。 # include <stdio.h> int fun(int x) { int i,j,count=0; printf("\nThe prime number between 2 to %d\n",x); for(i=2;i<=x;i++) { for(___1___;j<i;j++) if(___2___%j==0) break; if(___3___>=i) { count++; printf(count%15 ? "%5d" : "\n%5d",i); } } return count; main() { int x=20,result; result=fun(x); printf("\nThe number of prime is : %d\n",result); } 二、改错题 下列给定程序中函数fun的功能是:计算m!。例如,给m输入3,则输出6.000000。 请修改程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。 # include <stdio.h> # include <conio.h> double fun(int m) { double result=1.0; /********error********/ if m==0 return 1.0; while(m>1 && m<170) /*******error*********/ result=m--; return result; } main() { int m; printf("Input m:"); scanf("%d",&m); printf("\n\n%d!=%1f\n\n",m,fun(m)); } |