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算法流程圖
根據流程圖寫出的程序如下:
#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