数组一定要会用,据说不会用数组的同学比赛都挂了~
举个例子:
输入n个学生的某门课程的成绩,打印出低于平均分的同学学号与成绩。
我们的问题来了,难道你定义n个变量么?呵呵~
const n=1000;
var
a:array[1..n] of integer;
这是我们之前没有看到过的数据类型。
a表示一个数组,你可以理解为一堆变量绑在一起,如a[1],a[2],a[3],a[4]。。。都是变量。
那我变量难道不能定义为a1,a2,a3,a4一直到a1000么?喂喂,同学,该吃药了。。
const n=1000;
var a:array[1..n]of integer;
tot,i:longint;
ave:real;
begin
tot:=0;
for i:=1 to n do
begin
read(a[i]);
tot:=tot+a[i];
end;
//上面实际上在算所有学生加起来的总分。
ave:=tot/n;//算平均分
for i:=1 to n do
if a[i]<ave then writeln('No.',i,' ',a[i]);
readln;
end.
有些同学会疑问,定义数组能这么定义么?如
a:array[1..n]of integer;
然后这个n是个变量,随便我赋值?
明确回答你,这样不可以!数组的尺寸必须在编译之前就要确定,不能再运行中才确定!