c语言程序设计,要求输入n(n<10)个学生的成绩信息,按照学生的个人平均成绩从高到低输出他们的信息。
时间: 2024-06-04 13:10:55 浏览: 21
#include<stdio.h>
#include<stdlib.h>
typedef struct student{
char name[20];
int score[10];
float avg;
}Student;
int main(){
int n,i,j;
printf("请输入学生人数:");
scanf("%d",&n);
Student stu[n];
for(i=0;i<n;i++){
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
stu[i].avg=0;
for(j=0;j<10;j++){
printf("请输入该学生的第%d门课程成绩:",j+1);
scanf("%d",&stu[i].score[j]);
stu[i].avg+=stu[i].score[j];
}
stu[i].avg/=10;
}
for(i=0;i<n-1;i++){
for(j=0;j<n-1-i;j++){
if(stu[j].avg<stu[j+1].avg){
Student temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("\n按照学生的个人平均成绩从高到低输出他们的信息:\n");
for(i=0;i<n;i++){
printf("姓名:%s,平均成绩:%.2f\n",stu[i].name,stu[i].avg);
}
system("pause");
return 0;
}
阅读全文