你可以把我这个程序的输出部分修改一下(不修改也可以)
程序如下:
#include
#define STU_NUM 10//学生数目
#define SCORE_NUM 3//课程数目
typedef struct
{
char num[20];
char name[20];
float score[SCORE_NUM];
float total;//总分
float average;//平均分
} Student;
Student stu[STU_NUM];
//输入学生信息
void input()
{
int i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}
//输出学生信息
void output(void)
{
int i,j;
for(i=0;i
printf("学生的信息如下:\n");
printf("学号:%s\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);
for(j=0;j
printf("科目%d的成绩:%f\n",j+1,stu[i].score[j]);
}
printf("总分:%f\n",stu[i].total);
printf("平均分:%f\n",stu[i].average);
}
}
//计算总分和平均分
void process()
{
int i,j;
for(i=0;i
stu[i].total=0;
for(j=0;j
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}
//按总分进行排序(冒泡法)
void sort()
{
Student tStu;
int i,j;
for(i=0;i
for(j=STU_NUM-1;j>i;j--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
}
main()
{
input();
process();
sort();
output();
}