就业数据资源平台
当前位置:首页 > C语言程序设计
2014年全国计算机二级C语言上机模拟试题及答案1

函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。 

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 

  注意:源程序存放在考生文件夹下的BLANK1.C中。 

  不得增行或删行,也不得更改程序的结构! 

  给定源程序: 

  #include  

  int fun(int n) 

  { int i,j, count=0; 

  printf("\nThe prime number between 3 to %d\n", n); 

  for (i=3; i<=n; i++) { 

  for (___1___; j  if (___2___%j == 0) 

  break; 

  if (___3___>=i) 

  { count++; printf( count? "]":"\n]",i); } 

  } 

  return count; 

  } 

  main() 

  { int n=20, r; 

  r = fun(n); 

  printf("\nThe number of prime is : %d\n", r); 


 解题思路: 

  第一处:素数的条件是除1和其本身外不能整除该数,所以应填:2。 

  第二处:判断i是否素数,所以应填:i。 

  第三处:如果内循环for中所有数都不能整除i,那么i是素数且j大于等于i,所以应填:j。 

  *************************************************** 

  数列中,第一项值为3, 后一项都比前一项的值增5;给定程序MODI1.C中函数fun的功能是: 计算前n(4  例如, 当n的值为20时,该数列为3,8,13,18,23,28,……,93,98。符合此条件的累加值应为42,126,366,570,1010。 

  请改正函数fun中指定部位的错误, 使它能得出正确的结果。 

  注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 

  给定源程序: 

  #include  

  #define N 20 

  int fun(int n,int *a) 

  { int i,j,k,sum; 

  sum=j==0; 

  for(k=3,i=0;i  { sum=sum+k; 

  if(sum%4=2) 

  a[j++]=sum; 

  } 

  return j; 

  } 

  main() 

  { int a[N],d,n,i; 

  printf("\nEnter n (4  d=fun(n,a); 

  printf("\n\nThe result :\n"); 

  for(i=0; i  }


 第一处:连续赋初值为0,中间使用条件相等符号了,所以应改为:sum=j=0;。 

  第二处:条件相等符号为==。 

  *************************************************** 

  请编写函数fun, 其功能是: 计算并输出下列多项式的值: 

  例如, 在主函数中从键盘给n输入8后, 输出为: s=0.662872。 

  注意: 要求n的值大于1但不大于100。 

  部分源程序在文件PROG1.C中。 

  请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 

  给定源程序: 

  #include  

  double fun(int n) 

  { 

  } 

  main() 

  { int n; double s; 

  printf("\nInput n: "); scanf("%d",&n); 

  s=fun(n); 

  printf("\ns=%f\n",s); 

  NONO(); 

  }

就业数据资源平台