#include
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;
};
void input(struct Student stu[]);
struct Student paixu(struct Student stu[]);
void print(struct Student stu[]);
int main(void)
{
struct Student stu[N], *p=stu;
input(p);
paixu(p);
print(p);
return 0;
}
void input(struct Student stu[])
{
int i;
printf("%s\n", "请输入个学生的信息:学号、姓名、三门课成绩:\n");
for (i=0;i{
printf("请输入第 %d 个学生的信息:\n", i + 1);
printf("%s\n", "请输入学号:");
scanf("%d", &stu[i].num);
printf("%s\n", "请输入姓名:");
scanf("%s", stu[i].name);
printf("%s\n", "请输入数学成绩:");
scanf("%f", &stu[i].score[0]);
printf("%s\n", "请输入语文成绩:");
scanf("%f", &stu[i].score[1]);
printf("%s\n", "请输入外语成绩:");
scanf("%f", &stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
}
}
struct Student paixu(struct Student stu[])
{
int i, j, k;
struct Student temp;
for(i=1; i{
for(j=0; j {
if(stu[i].aver > stu[j].aver)
{
temp = stu[i];
for(k=i; k>j; k--)
stu[k] = stu[k - 1];
stu[j] = temp;
}
}
}
}
void print(struct Student stu[])
{
int i;
printf("%s\n", "成绩按降序排序为:");
for(i=0; iprintf("学号:%d\n姓名:%s\n三门课成绩:%5.1f, %5.1f, %5.1f\n平均成绩:%6.2f\n", stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].aver);
}
代码不全,没法帮你看