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

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

  三、程序题:请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

  例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777

  则输出结果为: 6, 980

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

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

  给定源程序:

  #include

  void fun(int *s, int t, int *k)

  {

  }

  main()

  {

  int a[10]={876,675,896,101,301,401,980,431,451, 777}, k ;void NONO ();

  fun(a, 10, &k);

  printf("%d, %d/n", k, a[k]);

  NONO();

  }

  void NONO ()

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

  int a[10], i, k, j ;

  FILE *rf, *wf ;

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

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

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

  for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d", &a[j]);

  fun(a, 10, &k);

  fprintf(wf, "%d,%d/n", k, a[k]);

  }

  fclose(rf);

  fclose(wf);

  }

  参考答案:

  int fun(int *s, int t, int *k)

  {

  int i, pos = 0, max = *s ;

  for(i = 1 ; i < t ; i++) {

  if(max < *(s + i)) {

  max = *(s + i) ;

  pos = i ;

  }

  }

  *k = pos ;

  }

上一页123下一页

视频学习

我考网版权与免责声明

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

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

最近更新

社区交流

考试问答