各科目の平均成績と、3科目の総得点が最も高い学生のデータ(学号、名前、3科目の成績、3科目の総得点を含む)を印刷することを要求します.


  • 実験八
  • 50人の学生がいて、各学生のデータは学号、名前、3科目の成績を含んで、キーボードから50人の学生のデータを入力して、各科目の平均成績を印刷することを要求して、および3科目の総得点が最も高い学生のデータ(学号、名前、3科目の成績、3科目の総得点を含む)を印刷します.
     
    /**             ,               **/
    #include
    #include
    
    struct stu
    {
    	char name[11];
    	char num[11];
    	int gra1, gra2, gra3; 
        int sum1;
    };
    struct stu p[51];
    struct stu t;
    int main(void)
    {
    	int i;
    	int n;
    	int j;
    	double ex1, ex2, ex3;
    	printf("Input n
    "); scanf("%d", &n); for(i = 0; i < n; i++) { p[i].sum1 = 0; scanf("%s %s %d %d %d", p[i].num, p[i].name, &p[i].gra1, &p[i].gra2, &p[i].gra3); } ex1 = 0; ex2 = 0; ex3 = 0; for(i = 0; i < n; i++) { ex1 += p[i].gra1; ex2 += p[i].gra2; ex3 += p[i].gra3; } ex1 /= n; ex2 /= n; ex3 /= n; for(i = 0; i < n; i++) { p[i].sum1 += (p[i].gra1 + p[i].gra2 + p[i].gra3); } for(i = 0; i < n - 1; i++) { for(j = 0; j < n - 1 - i; j++) { if(p[j].sum1 < p[j + 1].sum1) { t = p[j]; p[j] = p[j + 1]; p[j + 1] = t; } } } for(i = 0; i < n; i++) { printf("%s %s %d %d %d %d", p[i].num, p[i].name, p[i].gra1, p[i].gra2, p[i].gra3, p[i].sum1); } return 0; }