一个输入,计算,打印学生成绩的函数的问题
我编写了一个函数,功能是输入五名学生的学号、姓名和其三门学科的成绩,并计算他的平均成绩,然后输出这五名学生的记录。函数代码是:#define N 5
#include <string.h>
struct student
{int num;
char name[10];
int score[3];
}stu[N];
float aver[5];
void input(struct student stu1[])
{int i,j;
for(i=0;i<N;i++)
{
printf("input %d sutdent:\n",i+1);
printf("num:");
scanf("%d",&stu1[i].num);
printf("name:");
scanf("%s",stu1[i].name);
printf("score:");
for(j=0;j<3;j++)
scanf("%d",&stu1[i].score[j]);
}
}
float score(struct student stu2[])
{int i,j;
float aver1;
float sum;
aver1=0,sum=0;
for(i=0;i<N;i++)
{ for(j=0;j<3;j++)
sum=sum+stu2[i].score[j];
aver1=sum/3;
aver[i]=aver1;
sum=0;
}
}
void print(float pingjun2[],struct student stu3[])
{int i,j;
printf("output:");
for(i=0;i<N;i++)
{printf("num:%d\nnume:%s\nscore:",stu3[i].num,stu3[i].name);
for(j=0;j<3;j++)
printf("%d\n",stu3[i].score[j]);
printf("aver:%5.2f",aver[i]);
}
}
main()
{ input(stu);
score(stu);
print(aver,stu);
}
可是运行时,能够输入学生的记录,但不能输出,显示错误信息(红色字):
output:num:01
name:han2y
score:33
22
55
Floating point error :Domain.
不知程序哪里出了错误,请各位高手给看看……
在此谢谢了!
[此贴子已经被作者于2006-6-13 17:59:39编辑过]