高手帮忙看看哪里错叻。C语言。

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:24:57
题目是用结构表示学生,学号,成绩,编写程序,对班中10名学生按成绩进行排序,并输出排序后的学号,成绩和全班平均分。
#include<stdio.h>
#include<math.h>

struct student
{
int num;
float math;
float eg;
float com;
}
viod stuaver(struct student stu[],int n)
{
float aver[10];
float max=0,temp=0;
int i=0,j;
for(i=0;i<n;i++)
aver[i]=(student[i].math+student[i].eg+student[i].com)/3;
for(i=0;i<n;i++)
printf("%f",aver[i]);
for(i=0;i<n;i++)
{
max=aver[0];
if(max<aver[i])
max=aver[i];
}
printf("%f",max);
while(i<=n)
{
for(j=0;j<n-i;j++)
if(aver[j]<aver[j+1])
{
aver[j]=temp;
aver[j]=aver[j+1];
temp=aver[j+1];
}
i++;
}
for(i=0;i<n;i++)
printf("%f",aver[i]);
}
viod subaver(struct student stu[],int n)<

帮你看了一下,这个是可以运行的,不过没有完成所要求的功能.

#include<stdio.h>
#include<math.h>

struct student
{
int num;
float math;
float eg;
float com;
} ;

void stuaver(struct student stu[],int n);
void subaver(struct student stu[],int n);

void main()
{
int i,n;
struct student stu[10];
//float stuaver[10],subaver[3];
float aver1,aver2;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&stu[i].num);
scanf("%f",&stu[i].math);
scanf("%f",&stu[i].eg);
scanf("%f",&stu[i].com);
}

stuaver(stu,n);
subaver(stu,n);

//printf("%f\n",aver1);
//printf("%f\n",aver2);
}

void stuaver(struct student stu[],int n)
{
float aver[10];
float max=0,temp=0;
int i=0,j;
for(i=0;i<n;i++)
aver