2013年计算机二级C语言上机题库三十七_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年5月22日

  编程题
  某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数FUN,它的功能是:求出该学生的平均分并放在记录的AVE成员中。请自己定义正确的形参。
  例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是78.875。
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  试题程序:#include <stdio.h>
  #define N 8
  typedef struct
  {
  char num[10];
  double s[N];
  double ave;
  } STREC;
  void fun(STREC *p)
  {
  }  

  main()
  {
  STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
  int i;
  FILE *out;
  fun( &s );
  printf("The %s's student data:\n", s.num);
  for(i=0;i<N;i++)
  printf("%4.1f\n",s.s[i]);
  printf("\nave=%7.3f\n",s.ave);
  out=fopen ("out.dat", "w");
  fprintf(out, "The %s's student data:\n", s.num);
  for(i=0;i<N;i++)
  fprintf(out, "%4.1f\n",s.s[i]);
  fprintf(out, "\nave=%7.3f\n",s.ave);
  fclose (out );
  }
  答案是:
  void fun(STREC *p)
  {
  double av=0.0;
  int i;
  for(i=0;i<N;i++)
  av+=p->s[i];
  av/=N;
  p->ave=av;
  }


首页 1 2 3 尾页

相关文章