讨论 / pascal明明的随机数代码
g++ 2016-03-11 19:20:06
点我顶贴 收藏 删除
var

a:array[1..1000] of integer;

i,j:longint;

b,n:integer;

begin

for i:=1 to 1000 do

a[i]:=0;

begin

readln(n);

for i:=1 to n do

begin

read(b);

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

end;

for i:=1 to 1000 do

if a[i]>=1 then inc(j);

writeln(j);

for i:=1 to 1000 do

if a[i]>=1 then write(i,' ');

end;

end.

#1 周大侠43@2016-04-10 04:46:48
回复 删除
var

a,b:array[1..1005]of longint;

n,i,j,t,k,v:longint;

begin

readln(n);

for i:=1 to n do

begin

read(t);

inc(a[t]);

end;

for i:=1 to 1005 do

if a[i]>0 then

begin inc(v);b[v]:=i; end;

writeln(v);

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

writeln(b[v]);

end.

#2 jiaangk@2016-04-17 04:31:13
回复 删除
randomize就行了啊
#3 dzysc@2016-05-29 00:04:36
回复 删除
真是傻得可爱,还randomize
#4 imoimc@2016-06-06 23:50:35
回复 删除
var a,b:array[1..101]of integer;

t,i,j,sum,n:integer;

begin

readln(n);

for i:=1 to n do

read(a[i]);

for i:=1 to n do

for j:=i+1 to n do

if a[i]>a[j] then

begin

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

sum:=1;

b[1]:=a[1];

for i:=2 to n do

if a[i]>a[i-1] then

begin

inc(sum);

b[sum]:=a[i];

end;

writeln(sum);

for i:=1 to sum do

write(b[i],' ');

end.

#5 1124418496@2016-06-16 22:08:44
回复 删除
var a:array[1..1000] of integer;

b:array[1..1000] of integer;

v,j,k,l:integer;

begin

readln(v);

l:=v;

for j:=1 to 1000 do

b[j]:=0;

for j:=1 to v do

begin

read(k);

if b[k]=0 then b[k]:=1

else dec(l);

end;

writeln(l);

for j:=1 to 1000 do

if b[j]=1 then write(j,' ');

end.

#6 1124418496@2016-06-16 22:09:34
回复 删除
var b:array[1..1000] of integer;

v,j,k,l:integer;

begin

readln(v);

l:=v;

for j:=1 to 1000 do

b[j]:=0;

for j:=1 to v do

begin

read(k);

if b[k]=0 then b[k]:=1

else dec(l);

end;

writeln(l);

for j:=1 to 1000 do

if b[j]=1 then write(j,' ');

end.

#7 1124418496@2016-06-16 22:10:56
回复 删除
很简单啊,一个数组判断学号是否重复,如果已经有了,就删掉一个人,没有就派上

输出的时候先发出最后总人数,然后按照学号顺序,判断有没有,然后输出

简单的思想, 没有用什么高难得函数,但觉得很容易理解

#8 1124418496@2016-06-16 22:12:34
回复 删除
回复 #2 jiaangk:为什么要randomize

查看更多回复
提交回复