一道PASCAL程序题,输入a1,a2,a3,....a20

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:58:34
用一个程序编写,满足下面两个要求~
(1)将它们从小到大排序后输出
(2)将它们从大到小排序后输出
我想问的是怎样用数组将程序编写~~

program ex1;
var a:array[1..20] of integer;
i,j:integer;
begin
for i:=1 to 20 do read(a[i]);
for i:=1 to 20 do
for j:=i+1 to 20 do
if a[i]>a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t;end;
for i:=1 to 20 do write(a[i]);
writeln;
for i:=20 downto 1 do write(a[i]);
end.

program sort;
const n=20;
var
a:array[1..n] of integer;
procedure sort;
var
i,j,t:integer;
begin
for i:=1 to n-1 do
for j:=i to n do
if a[j]>a[j+1] then
begin
t:=a[j+1];a[j+1]:=a[j];a[j]:=t;
end;
end;
procedure readfile;
var i:integer;
begin
for i:=1 to n do read(a[i]);
readln;
end;
procedure print;
var i:integer;
begin
for i:=1 to n do write(a[i],' ');
writeln;
for i:=n downto 1 do write(a[i],' ');
end;
begin
readfile;
sort;
print;
end.

cons