#include <stdio.h>

void stuava(int n, int stu[3][5]){
    int i, s = 0;
    for(i = 0; i < 5; i++){
        s += stu[n - 1][i];
    }
    printf("第%d位学生的平均分为:%d\n", n, s / 5);
}

void classava(int n, int stu[3][5]){
    int i, s = 0;
    for(i = 0; i < 3; i++){
        s += stu[i][n - 1];
    }
    printf("第%d门课的平均分为:%d\n", n, s / 3);
}

void max(int stu[3][5]){
    int i, j, maxs, a, b;
    maxs = stu[0][0];
    for(i = 0; i < 3; i++){
        for(j = 0; j < 5; j++){
            if(maxs < stu[i][j]){
                maxs = stu[i][j];
                a = i + 1;
                b = j + 1;
            }
        }
    }
    printf("所有分数中,第%d位学生的第%d门成绩最高,分数为%d\n", a, b, maxs);
}

void avaf(int stu[3][5]) {
    int i,j;
    int s=0; 
    int ss=0; 

    for(i=0;i<3;i++) {
        for(j=0;j<5;j++) {
            s+=stu[i][j];
        }
    }

    float average=(float)s/15;

    for (i=0;i<3;i++) {
        for(j=0;j<5;j++){
            ss+=(stu[i][j]-average)*(stu[i][j]-average);
        }
    }
    printf("均分方差为:%f\n",(float)ss/15.0);
}


int main(){
    int stu[3][5], i;
    for(i = 0; i < 3; i++){
        printf("请输入第%d个学生的5门成绩:", i + 1);
        scanf("%d %d %d %d %d", &stu[i][0], &stu[i][1], &stu[i][2], &stu[i][3], &stu[i][4]);
    }
    for(i = 1; i <= 3; i++){
        stuava(i, stu);
    }
    for(i = 1; i <= 5; i++){
        classava(i, stu);
    }
    max(stu);
    avaf(stu);
    return 0;
}

脑壳痛

最后修改:2024 年 12 月 08 日
如果觉得我的文章对你有用,请随意赞赏