某学生的记录有学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平

admin2013-04-02  18

问题 某学生的记录有学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
    例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。
    注意:部分源程序在文件PROGl.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。
#include
#define N 8
typedef struct
{  char num[10];
  double s[N];
  double ave;
}STREC;
void fun(STREC*a)
{
}
main()
{STREC s={"GA005”,85.5,76,69.5,85,
91,72,64.5,87.5};
    Int 1;
    void NONO();
    fun(&s);
    printf{”The%s’s student data:
\n”,s.num);
  for(i=0;i    printf(”%4.1f\n”,s.s);
    printf(”knave=%7.3f\n”,s.ave);
    NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函
数,输出数据,关闭文件。  */
  FTLE*out:;
  int.i,j ; STREC s[10]={
  (”GA005”,85.5,76,69.5,85,91,72,
64.5,87.5),{”GA001”,82.5,66,76.5,
76,89,76,46.5,78.5),{"GA002”,72.5
,56,66.5,66,79,68,46.5,58.5),{"GA
003”,92.5,76,86.5,8 6,99,86,56.5,8
8.5},{”GA004”,82,66.5,46.5,56,7 6,
75,76.5,63.5},{"GA006”,75.5,74,71
.5,85,81,79,64.5,71.5},{"GA007”,9
2.5,6l,72.5,84,79,75,66.5,72.5},{
”GA007”,92.5,61,72.5,84,79,75,66.
5,72.5},{"GA007”,92.5,61,72.5,84,
79,75,66.5,72.5),{"GA009”,66.5,71
,74.5,70,61,82,86.5,58.5),{"GA010
”,76,66.5,75.5,60,76,7l,96.5,93.5
),
};
  out=fopen(”out.dat”,”w”);
  for(i=0;i<10;i++)(
    fun(&s);
    fprintf(out:,”%7.3f\n”,s.ave);
  }
  fclose(out:);
}

选项

答案{ int i; for(i=0; iave=a->ave+a->s[i]; a->ave /=N; }

解析 (1)本题中给出的题干中定义了结构体变量STREC用来存储学生的记录。
(2)利用for循环求得总分,然后求得平均分,最后将平均分放入记录ave中。其中,结构体成员的引用形式可以为a.ave、a.s等。
转载请注明原文地址:https://jikaoti.com/ti/Hnn0FFFM
0

相关试题推荐
最新回复(0)