讨论 / 1
抓小鸡 2011-04-20 22:17:00
点我顶贴 收藏 删除
1.
#1 zhangzhan456@2011-04-20 22:17:00
回复 删除
program p001;

var

a:array[1..100] of longint;

i,j,n,p,t:longint;

procedure qsort(l,r:longint);

var

i,j,mid,t:longint;

begin

i:=l; j:=r; mid:=a[(l+r) div 2];

repeat

while a[i]<mid do inc(i);

while a[j]>mid do dec(j);

if i<=j then begin

t:=a[i]; a[i]:=a[j]; a[j]:=t;

inc(i); dec(j);

end;

until i>j;

if l<j then qsort(l,j);

if i<r then qsort(i,r);

end;

begin

readln(n);

fillchar(a,sizeof(a),0);

for i:=1 to n do read(a[i]);

qsort(1,n);

i:=1;

while i<=n do begin

i:=i+1;

while a[i]=a[i-1] do begin

for j:=i to n do begin

a[j-1]:=a[j];

a[j]:=0;

end;

n:=n-1;

end;

end;

writeln(n);

for i:=1 to n-1 do write(a[i],' ');

write(a[n]);

end.

#2 zhenghanle@2011-04-20 22:17:00
回复 删除
var a,b:array[1..1000]of integer;

n,i,j:integer;

begin

readln(n);

for i:=1 to 1000 do a[i]:=0;

for i:=1 to n do

begin

read(j);

a[j]:=a[j]+1;

end;

j:=1;

for i:=1 to 1000 do

if a[i]>0 then

begin

b[j]:=i;

j:=j+1;

end;

writeln(j-1);

for i:=1 to j-1 do

write(b[i],' ');

end.

查看更多回复
提交回复