所有 变量 ++ fine 排列 std oat can gpo
入 100 个学生的学号,姓名,性别 (0 男 1 女),数学,语文,英语成绩,然后计算语数外平均分按从高到低的顺序排列后输出.
#include<cstdio>
#define MAXN 100
//学生类型
typedef struct student{
int id, sex, ch, ma, en;
float avg;
char name[20];
} Stu;
int main(){
Stu s[MAXN], t;//记录所有学生及一个临时变量
for(int i = 0;i < MAXN; i++){
scanf("%d%s%d%d%d%d", &s[i].id, s[i].name, &s[i].sex, &s[i].ch, &s[i].ma, &s[i].en);
s[i].avg = (s[i].ch + s[i].ma + s[i].en) / 3.0;
}
//从大到小排序
for(int i = 0;i < MAXN - 1;i++)
for(int j = MAXN - 1;j > i;j--)
if(s[j].avg > s[j-1].avg){
t = s[j];
s[j] = s[j-1];
s[j - 1] = t;
}
for(int i = 0; i < MAXN; i++)
printf("%d %s %d %d %d %d %.2lf\n",s[i].id, s[i].name, s[i].sex, s[i].ch, s[i].ma, s[i].en, s[i].avg);
}
学生成绩录入排序
来源: http://www.bubuko.com/infodetail-2470290.html