问答题
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。
注意: 部分源程序在文件PROG1.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 i;
fun( &s );
printf("The %s's student data:/n", s.num);
for(i=0;i
printf("%4.1f/n",s.s[i]);
printf("/nave=%7.3f/n",s.ave);
NONO();
}
【正确答案】void fun(STREC *a)
{
int i ;
for(i = 0 ; i < N ; i++)
a->ave = a->ave + a->s[i] ;
a->ave /= N ;
}
【答案解析】