引用二维数组的元素

zhushican 2年前 (2022-09-04) 六六互联 312 0

word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">引用二维数组元素

word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">引用二维数组的元素

二维数组元素表示的形式为:

数组名[下标][下标]

【例5-6】学生成绩处理

假设第一小组5个学生3门课的成绩,如下表5-1所示,求全组平均成绩以及各门课的平均成绩。

表5-1 学生成绩表

学生 英语 数学 C语言

Stu1 80 77 76

Stu2 61 35 67

Stu3 56 75 70

Stu4 89 90 85

Stu5 85 67 73

分析:设定数组a,5行3列,用来存放学生的成绩,设定一维数组v,长度为3,用来存放每门课的总成绩。

程序的算法流程图如图5-6所示。

 引用二维数组的元素

图5-6 例5-6算法流程

根据流程图写出的程序如下:

#include <stdio.h>

int main()

     int i,j,s=0,average,v[3],a[5][3]; 

     printf("input score:\n"); 

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

     { 

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

     { 

     scanf("%d",&a[j][i]); /*输入学生的成绩*/

     s=s+a[j][i];/*累加求出每一列上的所有元素之和*/

     } 

     v[i]=s/5; /*每门课的平均成绩*/

     s=0; 

     } 

     average=(v[0]+v[1]+v[2])/3; /*数组v中所有元素的平均值赋值给average*/

     printf("English languag:%d\nMath:%d\nc languag:%d\n",v[0],v[1],v[2]); 

     printf("total:%d\n", average ); 

     return 0; 

}

程序运行结果:

input score:

56 78 92 23 89↙

59 78 98 68 45↙

75 80 78 90 67↙

English languag:67

Math:69

c languag:78

total:71