学生成绩排序

#include<stdio.h>
struct student {
int num;
char name[10];
int computer,english,math;
double average;
};
int main(){
int i,index,j,n;
struct student students[50],temp;

printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Input the info of No.%d:\n",i+1);
printf("number:");
scanf("%d",&students[i].num);
printf("name:");
scanf("%s",&students[i].name);
printf("math score:");
scanf("%d",&students[i].math);
printf("english score:");
scanf("%d",&students[i].english);
printf("computer score:");
scanf("%d",&students[i].computer);
students[i].average=(students[i].math+students[i].english+students[i].computer)/3.0;
printf("\n");
}

for(i=0;i<n-1;i++){
index=i;
for(j=i+1;j<n-1;j++){
if(students[j].average>students[index].average)
index=j;
}
temp=students[index];
students[index]=students[i];
students[i]=temp;
}

printf("num\t name\t average\n");
for(i=0;i<n;i++){
printf("%d\t%s\t%.2lf\n",students[i].num,students[i].name,students[i].average);
}
return 0;
}

posted @   Grit_Doyle  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示