PASCAL测试题答案

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:33:00
快点啊
2.分别设计一个求三个数的最小值的过程和函数。
要求:在主程序中输入五个不同的正整数A,B,C,D,E,通过分别调用求三个数的最小值的过程和函数,在主程序中输出它们的最小值。
二 数组题1.输入10个不同的正整数存人数组A中,然后求出这些数中能被7整除的数的平均值,如果没有能被7整除的数则输出0。
2.将一个二维数组中的每一行元素按原来的顺序倒过来存放。假设已知二维数组为3行6列,最后输出这个二维数组。每一行6个。(要求用循环语句完成)
说明为 VAR A:ARRAY [1..3,1..6] OF INTEGER;
例如:
原来的二维数组 每一行元素倒过来存放后的二维数组
10 8 20 12 17 61 61 17 12 20 8 10
31 18 22 19 57 36 36 57 19 22 18 31
45 91 11 32 28 62 62 28 32 11 91 45
3.输入10个正整数存人数组A中,然后将其中首次出现的元素保留后面相同的元素压缩掉(即相同的元素只存储第一个,其余元素相对位置不变)。压缩掉相同元素后的数存储在数组B中。最后输出压缩后的数组元素。
例如 2,2,2,1,3,4,2,2,3,5。压缩后的结果为2,1,3,4,5。

program one_2;
var a,b,c,d,e:integer;
function max(x,y,z:integer):integer;
begin
max:=x;
if(max<y)then max:=y;
if(max<z)then max:=z;
end;
BEGIN
readln(a,b,c,d,e);
writeln(max(max(a,b,c),d,e));
end.

program two_1;
var a:array[1..10]of integer;
i,j,sum:integer;
begin
for i:=1 to 10 do read(a[i]);
j:=0;sum:=0;
for i:=1 to 10 do
if a[i]mod 7=0 then
begin inc(j);inc(sum,a[i]);end;
if j=0 then writeln(0)
else writeln(sum/j);
end.

program two_2;
var a:array[1..3,1..6]of integer =(
(10,8,20,12,17,61),
(31,18,22,19,57,36),
(45,91,11,32,28,62));
i,j,t:integer;
BEGIN
for i:=1 to 3 do for j:=1 to 3 do
begin t:=a[i][j];a[i][j]:=a[i][6-j];a[i][6-j]:=t;end;
for i:=1 to 3 do begin for j:=1 to 6 do
write(a[i][j]);writeln;
end;
END.

program two_3