- 明明的随机数
- 2016-10-19 21:30:29 @
pascalNOIP2005 明明的随机数,不会做,有多处错误。本人联赛新手,请大神指出错误并解释
代码如下
var n,v,c,i,j:integer;
a:array[1..100] of integer;
begin
readln(n);
for i:=1 to n do
read(a [i]);
for i:=1 to 100 do
for j:=1 to 100 do
begin
if a[i]<>a[j] then
begin
n:=n+1;
end;
if a[i]<a[j] then swap(a[i],a[j]);
end;
for i:=1 to 100 do
if a[i]<a[j] then begin write(n);
writeln;
write(a[i]);
end;
end.
9 条评论
-
yangsaibin LV 7 @ 2016-11-06 18:35:12
你那个第二段筛选的时候定义如下:
for i:=1 to 1000 do
for j:=1 to 1000 do
……
下同。
但是这个程序过于复杂,由于n<=1000;直接暴力搜索就行了。附送桶排序代码
program mmdsjs;
var
b:array[-10..1010]of boolean;
n,i,s,sum:longint;
begin
{assign(input,'mmdsjs.in');
assign(output,'mmdsjs.out');
reset(input);
rewrite(output);}
readln(n);
fillchar(b,sizeof(b),false);
for i:=1 to n do
begin
read(s);
b[s]:=true;
end;
sum:=0;
for i:=-10 to 1010 do if b[i] then sum:=sum+1; writeln(sum);
for i:=-10 to 1010 do if b[i] then write(i,' ');
{close(input);
close(output);}
end. -
2016-10-23 16:37:54@
有那么麻烦吗?
var
a:array[1..1000] of boolean;
i,n,x,max:longint;
begin
readln(n);
fillchar(a,sizeof(a),false);
for i:=1 to n do
begin
read(x);
a[x]:=true;
end;
n:=0;
for i:=1 to 1000 do
if a[i] then n:=n+1;
writeln(n);
for i:=1 to 1000 do
if a[i] then write(i,' ')
end. -
2016-10-20 21:27:50@
你是不是傻。。。
var a:array[1..1000] of integer;
n,i,x,s:longint;
begin
readln(n);
fillchar(a,sizeof(a),0);
for i:=1 to n do
begin read(x); a[x]:=1; end;
s:=0;
for i:=1 to 1000 do
s:=s+a[i];
writeln(s);
for i:=1 to 1000 do
if a[i]<>0 then write(i,' ');
writeln;
end.
以上代码纯手打Orz,错了不要打我 -
2016-10-19 21:35:23@
或者是会pascal的人不多了
-
2016-10-19 21:35:04@
谁也不愿意回答那么低能的问题
-
2016-10-19 21:34:49@
看来是没人了
-
2016-10-19 21:34:17@
如果有大神愿意教我pascal的,可以加我QQ,在个人信息里面
-
2016-10-19 21:33:46@
有人吗
-
2016-10-19 21:33:40@
有人吗
- 1