1. 程式人生 > >學生成績錄入排序

學生成績錄入排序

所有 變量 ++ fine 排列 std oat can gpo

入100個學生的學號、姓名、性別(0男1女),數學、語文、英語成績,然後計算語數外平均分按從高到低的順序排列後輸出。

 1 #include<cstdio>
 2 #define MAXN 100
 3 //學生類型
 4 typedef struct student{
 5     int id, sex, ch, ma, en;
 6     float avg;
 7     char name[20];
 8 } Stu;
 9 
10 int main(){
11     Stu s[MAXN], t;//記錄所有學生及一個臨時變量
12     for(int i = 0;i < MAXN; i++){
13 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); 14 s[i].avg = (s[i].ch + s[i].ma + s[i].en) / 3.0; 15 } 16 //從大到小排序 17 for(int i = 0;i < MAXN - 1;i++) 18 for(int j = MAXN - 1;j > i;j--) 19 if
(s[j].avg > s[j-1].avg){ 20 t = s[j]; 21 s[j] = s[j-1]; 22 s[j - 1] = t; 23 } 24 for(int i = 0; i < MAXN; i++) 25 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); 26 }

學生成績錄入排序