有10个学生,每个学生的数据包括学号,姓名,5门课的成绩,总成绩,平均成绩和名次。学生的学号,姓名,各门课的成绩由键盘输入,经处理后输出。程序由main,输入函数input(包括计算总成绩和平均成绩),计算名次函数fun,和打印函数print组成。
我写了一个,找不到哪里出错了。
struct student
{
char name[20];
char num[10];
float scor[5];
float sum;
float aver;
int mingci;
};
main()
{
struct student stu[10];
void input();
int fun();
int print();
input(stu);
fun(stu);
print(stu);
}
void input(struct student stu[])
{
int i,j;
for(i=0;i<3;i++)
{
printf("please input name and num:\n");
gets(stu[i].name);
scanf("%s",stu[i].num);
printf("please input the score:\n");
for(j=0,stu[i].sum=0;j<5;j++)
{
scanf("%f",&stu[i].scor[j]);
stu[i].sum+=stu[i].scor[j];
}
stu[i].ever=stu[i].sum/5;
if(i!=2)printf("over,next\n");
}
}
int fun(struct student stu[])
{
int i,j,m;
for(i=0;i<3;i++)
{
for(j=0,m=0;j<10;j++)
{
if(i!=j&&stu[i].sum>stu[j].sum)m++;
else continue;
}
stu[i].mingci=10-m;
}
}
int print(struct student stu[])
{
int i;
for(i=0;i<10;i++)
{
printf("%s\t%s\n",stu[i].name,stu[i].num);
printf("%f,%f,%f,%f,%f\n",stu[i].scor[0],stu[i].scor[1],stu[i].scor[2],stu[i].scor[3],stu[i].scor[4]);
printf("%f,%f\n",stu[i].sum,stu[i].ever);
printf("%d",stu[i].mingci);
}
}