int main(void) { //獲取學生成績 int arr[5][3];//首先设定一个二维数组 for (int i = 0; i < 5; i++)//添加一个for循环,并定义一个函数控制这一行 {//外层控制行 for (int j = 0; j < 3; j++)//添加一个for内循环,并定义一个函数控制这一列 {//内层控制列 scanf("%d", &arr[i][j]);//用scanf函数,读取用户输入的数字,并存入地址中. } } //打印學生成績 for ( int i = 0; i < 5; i++)//同上 { int sum = 0;//定义一个函数为0, for (int j = 0; j < 3; j++)//同上 { sum +=arr [i][j];//将二维数组中的行相加后赋予sum函数 } printf("第%d名学生的总成绩是:%d\t平均出成绩是:%d\n", i + 1, sum, sum / 3);//第多少名,为i+1循环1-5,sum为这一行的总和,总和除以几列等于平均数 } for ( int i = 0; i < 5; i++)//同上 { int sum = 0;//重新定义一个sum,因为不在上一个for循环作用域中所以不会显示重定义 for ( int j = 0; j < 3; j++)//同上 { sum += arr[j][i];//将行与列调换,变成列的值相加总和赋予给sum } printf("第%d门科目的总成绩是:%d\t平均出成绩是:%d\n", i + 1, sum, sum / 5); //这里在除以5个行数便是这一列的平均数. } return 0; }
10 20 30
40 50 60
70 80 90
1 2 3
4 5 6
第1名学生的总成绩是:60 平均出成绩是:20
第2名学生的总成绩是:150 平均出成绩是:50
第3名学生的总成绩是:240 平均出成绩是:80
第4名学生的总成绩是:6 平均出成绩是:2
第5名学生的总成绩是:15 平均出成绩是:5
第1门科目的总成绩是:120 平均出成绩是:24
第2门科目的总成绩是:150 平均出成绩是:30
第3门科目的总成绩是:180 平均出成绩是:36
第4门科目的总成绩是:111 平均出成绩是:22
第5门科目的总成绩是:132 平均出成绩是:26