在表4.4中编程求每个学生的最高分和每门课的平均分,并按表格形式输出。

在表4.4中编程求每个学生的最高分和每门课的平均分,并按表格形式输出。
表4.4 学生成绩情况表二
学 号 数 学 语 文 外 语 最高分
1001 90 80 85
1002 70 75 80
1003 65 70 75
1004 85 50 60
1005 80 90 70
平 均 分

一个实现:


#include <stdio.h>

int main(void){
    
    int id[5]={1001,1002,1003,1004,1005}; //存储学号 
    int scores[5][3]={{90,80,85},{70,75,80},{65,70,75},{85,50,60},{80,90,70}}; //成绩 
    int max[5];  //存储5个学生的最高分 
    double avg[3]; //存储3门功课的平均分 
    
    int i,j;
    
    for(i=0;i<5;i++){  //计算每个学生的最高分 
        max[i]=scores[i][0];
        for(j=0;j<3;j++){
            if(scores[i][j]>max[i]){
                max[i] = scores[i][j];
            }
        }        
    }
    
    for(j=0;j<3;j++){  //计算三门功课的平均分 
        avg[j]= (double)(scores[0][j]+scores[1][j]+scores[2][j]+scores[3][j]+scores[4][j])/5;
    }
    
    //打印结果 
    printf("学号\t数学\t语文\t外语\t最高分\n");  
    for(i=0;i<5;i++){
        
        printf("%d\t",id[i]);  //打印学号 
        for(j=0;j<3;j++){  //打印语数外成绩 
            printf("%d\t",scores[i][j]);
        }
        printf("%d\n",max[i]); //打印最高分 
    }
    
    printf("平均分\t");
    for(j=0;j<3;j++){  //打印平均分 
        printf("%.0f\t",avg[j]);
    }
    
    return 0;
    
} 

img