已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低和最高的学生记录,并求出所有学生的平均成绩。
# include <stdio.h>
# define n 4
struct student
{char *no[10];
float score;}a[n];
void main()
{int i,y=0,z=0;
float aver,max,min,s;
printf (“input the no and score:”);
for (i=0;i<4;i++){scanf (“%s%f”,&a[i].no,&a[i].score);};
max=a[0].score;
min=a[0].score;
for (i=0;i<4;i++){if(max<a[i].score)max=a[i].score,y=i;
if(min>a[i].score)min=a[i].score,z=i;
s+=a[i].score;};
aver=s/n;
printf (“the aver is:%d\nthe max no and score is:%s %d\nthe min no and score is:%s %d\n”,
&aver,&a[y].no,&a[y].score,&a[z].no,&a[z].score);
}
哪出错了,,,,只有输出的学号是对的,其他都错了,快哭了,,想了好久都想不出来,请大家帮帮忙~~~
>> 本文固定链接: http://www.vcgood.com/archives/2744
你最后输出的时候变量前不应该加取地址运算符&
我没有具体测试,不知道还有没有其他的错误。
呵呵……