2011年计算机二级C语言第七十五套上机题库及答案

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  三、程序题:请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17, 5,则应输出:19, 23, 29, 31, 37。函数fun中给出的语句仅供参考。

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

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

  给定源程序:

  #include

  void fun(int m, int k, int xx[])

  {

  }

  main()

  {

  int m, n, zz[1000] ;void NONO ();

  printf("/nPlease enter two integers:");

  scanf("%d %d", &m, &n);

  fun(m, n, zz);

  for(m = 0 ; m < n ; m++)

  printf("%d ", zz[m]);

  printf("/n");

  NONO();

  }

  void NONO ()

  {/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

  int m, n, zz[1000], i ;

  FILE *rf, *wf ;

  rf = fopen("in.dat","r");

  wf = fopen("out.dat","w");

  for(i = 0 ; i < 10 ; i++) {

  fscanf(rf, "%d %d", &m, &n);

  fun(m, n, zz);

  for(m = 0 ; m < n ; m++) fprintf(wf, "%d ", zz[m]);

  fprintf(wf, "/n");

  }

  fclose(rf);

  fclose(wf);

  }

  参考答案:

  void fun(int m, int k, int xx[])

  {

  int i, j=1, t=m+1;

  while(j<=k)

  {

  /* 以下完成判断素数,并存放到数组xx中 */

  for(i = 2 ; i < t; i++)

  if(t % i==0) break;

  if(i==t) {

  xx[j-1] = i;

  j++;

  }

  t++;

  }

  }

  }

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答