C语言二维数组?

五个学生三门课程存入二维数组,每个学生的平均成绩存入一个一维数组,每门课程的平均成绩也存入一个一维数组。
可以帮忙讲解一下思路吗?最好在帮忙把程序写出来。我借鉴一下以后遇到这样的题可以直接套。

#include <stdio.h>

int main()

{

    int score[5][3];

    float ave_score_1[5];

    float ave_score_2[3];

    int i,j;

    int sum_score;

    printf("Please input the score:\n");

    for(i=0;i<5;i++)

    {

        scanf("%d %d %d",&score[i][0],&score[i][1],&score[i][2]);

    }

    for(i=0;i<5;i++)

    {

        sum_score = 0;

        for(j=0;j<3;j++)

        {

            sum_score += score[i][j];

        }

        ave_score_1[i] = sum_score / 3.0;

    }

    for(j=0;j<3;j++)

    {

        sum_score = 0;

        for(i=0;i<5;i++)

        {

            sum_score += score[i][j];

        }

        ave_score_2[j] = sum_score / 5.0;

    }

    for(i=0;i<5;i++)

    {

        printf("%f ",ave_score_1[i]);

    }

    printf("\n");

    for(j=0;j<3;j++)

    {

        printf("%f ",ave_score_2[j]);

    }

    return 0;

}



温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-07

#include<stdio.h>

int main()

{

int a[5][3];

float sum=0,su=0,s[5],b[3];

printf("请输入5个学生的3门课程成绩:\n");

for(int i=0;i<5;i++)

sum=0;

for(int j=0;j<3;j++)

{

scanf("%d",&a[i][j]);

sum+=a[i][j];

}

s[i]=sum/3.0;

}

for(int i=0;i<3;i++)

{

su=0;

for(int j=0;j<5;j++)

{

su+=a[i][j];

}

b[i]=su/5.0;

}

printf("\n每个学生的平均成绩为:\n");

for(int i=0;i<5;i++)

printf("  %.2f",s[i]);

printf("\n每科的平均成绩:\n");

for(int i=0;i<3;i++)

printf("  %.2f",b[i]); 

return 0;

}

本回答被网友采纳
第2个回答  2020-04-07

#include <stdio.h>

int main(){

    float stu[5][3];

    float average[5];//每名学生平均成绩

    float class[3];//课程平均成绩

    float sum = 0;

    float sum2 = 0;

    printf("请输入5名学生的3门课程成绩:\n");

    for(int i=0;i<5;i++){

        printf("请输入第%d名同学的三门成绩:\n",i+1);

        scanf("%f %f %f",&stu[i][0],&stu[i][1],&stu[i][2]);

    }

    for(int j = 0;j<5;j++){

        for(int k = 0;k<3;k++){

            sum+=stu[j][k];

        }

        average[j] = sum/3;

        sum = 0;

    }

    for(int m =0;m<3;m++){

        for(int n = 0; n <5;n++){

            sum2+=stu[n][m];

        }

        class[m] = sum2/5;

        sum2 = 0;

    }

    printf("每个学生的平均成绩为:\n");

    for(int i = 0;i<5;i++)

        printf("%.2f ",average[i]);

    printf("\n");

    printf("每门课程的平均成绩为:\n");

    for(int i = 0;i<3;i++)

        printf("%.2f ",class[i]);

    return 0;

}

第3个回答  2020-07-26

C语言数组之二维数组