一道pascal 关于数组的题目

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:25:36
有一组数(假设有n个),其排列顺序如下:
3,6,11,45,23,70,67,34,26,98,90,15,56,50,20,10.编一程序交换这数组重任意指定的两段不重合数据。

program xxx(input,output);
var
a,b:array[1..100]of integer;
i,m,n:integer;
p,q,x,y:integer;{设pq,xy就是两段要交换的数据}
begin
read(n);
for i:=1 to n do read(a[i]);
read(p,q,x,y);
m:=x-p;
for i:=p to q do begin
b[p]:=a[p];
a[p]:=a[p+m];
a[p+m]:=b[p];
end;{交换完成}
end.

program xxx(input,output);
var
a,b:array[1..100]of integer;
i,m,n:integer;
p,q,x,y:integer;
begin
read(n);
for i:=1 to n do read(a[i]);
read(p,q,x,y);
m:=x-p;
for i:=p to q do begin
b[p]:=a[p];
a[p]:=a[p+m];
a[p+m]:=b[p];
end;
end.
试一试