free pascal 的一道题目
答案:1 悬赏:20 手机版
解决时间 2021-04-20 21:38
- 提问者网友:骨子里的高雅
- 2021-04-20 12:36
用合并的方法把两个有序数列A,B合并为一个新的有序数列C,不得先合并再排序,算法是从A,B中取小的数列进行比较,把两者小的数放到C中,一直继续此操作。
最佳答案
- 五星知识达人网友:污到你湿
- 2021-04-20 13:47
var
a:array[1..5] of integer = (1,3,5,7,9);
b:array[1..5] of integer = (0,2,4,6,8);
c:array[1..10] of integer;
i,j,k:integer;
begin
i:=1; j:=1; k:=1;
while (i<=5)and(j<=5) do
begin
if a[i] < b[j] then
begin c[k]:=a[i]; inc(i) end
else
begin c[k]:=b[j]; inc(j) end;
inc(k);
end;
while i<=5 do begin c[k]:=a[i]; inc(i); inc(k); end;
while j<=5 do begin c[k]:=a[j]; inc(j); inc(k); end;
for i:=1 to k-1 do
write(c[i], ' ');
readln;
end.
a:array[1..5] of integer = (1,3,5,7,9);
b:array[1..5] of integer = (0,2,4,6,8);
c:array[1..10] of integer;
i,j,k:integer;
begin
i:=1; j:=1; k:=1;
while (i<=5)and(j<=5) do
begin
if a[i] < b[j] then
begin c[k]:=a[i]; inc(i) end
else
begin c[k]:=b[j]; inc(j) end;
inc(k);
end;
while i<=5 do begin c[k]:=a[i]; inc(i); inc(k); end;
while j<=5 do begin c[k]:=a[j]; inc(j); inc(k); end;
for i:=1 to k-1 do
write(c[i], ' ');
readln;
end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯