(3),对20个输入的整数,从小到大输出,相同的数只输出一个,不重复输出.
1个回答
展开全部
var a:array[1..20]of integer;
n,i,j,t:integer;
begin
writeln('Before sort:');
for i:=1 to 20 do
begin a[i]:=random(20); write(a[i],' ') end;
writeln; writeln('After sort:');
for i:=1 to 19 do
for j:=1 to 20-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
i:=1;
repeat
write(a[i],' ');
i:=i+1;
while a[i]=a[i-1] do i:=i+1;
until i>20;
writeln;
end.
追答
把最后输出的循环修改一下:
i=0;
while(i<n-1)
{
printf("%d ",array[i++]);
while(array[i]==array[i-1])
i++;
}
printf("\n");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询