jzxx1146数字交换

题目描述
有一组数(设有N个)。编一程序交换这组数中任意指定的两段。

输入
一个数N(不超过20个)
一行N个数由空格分开
两个空格分开的数(表示要交换的其中一段)
两个空格分开的数(表示要交换的其中另一段)

输出
交换后的一行数(中间用空格隔开)

样例输入
16
3 6 11 45 23 70 67 34 26 89 90 15 56 50 20 10
3 5
13 15
样例输出
3 6 56 50 20 70 67 34 26 89 90 15 11 45 23 10

传送门

满分代码:
program ex1146;
var i,j,n,k,a1,b1,a2,b2:integer;
a,b:array[0..20] of longint;
procedure make(x,y:integer);
var i:integer;
begin
for i:=x to y do
begin
inc(k);
b[k]:=a[i];
end;
end;
begin
readln(n);
for i:=1 to n do
read(a[i]);
readln(a1,b1);
readln(a2,b2);
k:=0;
make(1,a1-1);
make(a2,b2);
make(b1+1,a2-1);
make(a1,b1);
make(b2+1,n);
for i:=1 to n do
write(b[i],' ');
end.

猜你喜欢

转载自blog.csdn.net/lyz060510/article/details/87546490