1. 假设A数组中的数据已按由大到小的顺序排放,把A中相同的数据删掉只剩一个,然后以每行四个数据输出数组

各位大侠帮帮忙啊~~
2025-01-04 05:32:11
推荐回答(1个)
回答1:

var
f:array[1..10000]of boolean;
max,sum:integer;
begin
(l 为数组长度,没的话自己求,有的直接套上去)
max:=0;
for i:=1 to l do begin f[a[i]]:=true;if a[i]>max then max:=a[i];end;
sum:=0;
for i:=1 to max do
begin
if f[i] then begin write(i,' ');inc(sum);
if sum mod 4=0 then writeln;
end;
end.

利用桶排序的思想,就是以数组下标来表示一个数字,就可以判断重复了。
你没说是什么语言,我打了个PASCAL的。看不懂也给点分吧!