- 2
- 0
- 约1.71千字
- 约 2页
- 2017-09-09 发布于重庆
- 举报
东风一中信息奥赛培训辅导多维数组 LIU
成绩统计 来自湖北信息奥赛培训ch613
下标多于一个的数组称为多维数组。二维数组是最简单的多维数组。
数组类型名=array[下标变量1,下标变量2,……] OF 元素类型;
对二维数组进行整体赋值时,要求两个数组变量属于同一种二维数组类型。
二维数组常量名:二维数组类型=((初值11,初值12,……初值1n),(初值21,初值22,……初值2n),……(初值m1,初值m2,……初值mn))在执行中应出现两个数组变量的赋值语句。
Program ch613;
Const maxn=66;{假定一个班人数不超过66}
Type number=0..maxn;
Course=(math,phys,chem.,biol);
Var s:array[number,course]of real;
ave:array[number]of real;
I,n:number ;
k:course;
Begin
N:=0; {N序号}
For k:=math to boil do
s[0,k]:=0; { 初始化}
Writeln(‘请按顺序输入数学,物理,化学,生物成绩’);
Repeat
n:=n+1;ave[n]:=0;
Write(‘NO.’,n, ’:’);
For k:= math to boil do
Begin read(s[n,k]);
Ave[n]:=ave[n]+s[n,k];{ 计算该生的总分}
S[0,k]:=s[0,k]+s[n,k] {计算该课程的全班总分}
End;
Ave[n]:=ave[n]/4; {该生的平均分}
Until eof ;{用CTRL+Z控制输入结束}
Writeln;
Writeln(‘ 成 绩 单 ’);
Writeln(‘序号 数学 物理 化学 生物 平均’);
For i:=1 to n do
Begin write(i:3);{输出一个序号}
For k:= math to boil do write(s[I,k]:6:1); {输出各科分数}
Writeln(ave[i]:6:1); {输出该生平均分并换行}
End;
Write(‘科平’);
FOR k:= math to boil do write(s[0,k]/n :6:1) {输出每门课程全班平均分}
End.
输入:
序号 数学 物理 化学 生物
1 80 87 85 90
2 83 67 83 86
3 86 89 90 86
4 90 88 87 92
5 78 81 83 86^Z
输出:
序号 数学 物理 化学 生物 平均
1 80 87 85 90 85.5
2 83 67 83 86 79.7
3 86 89 90 86 87.7
4 90 88 87 92 89.2
5 78 81 83 86^Z 82
科平 83.4 82.4 85.6 88.0
原创力文档

文档评论(0)