free Pascal的题目
programex;varn,x,i,s:integer;a:array[1..1000]ofinteger;proceduresetio;beginassign(inp...
program ex;
var n,x,i,s:integer;
a:array[1..1000]of integer;
procedure setio;
begin
assign(input,'random.in');
reset(input);
assign(output,'random.out');
rewrite(output);
end;
procedure print;
begin
close(input);
close(output);
end;
begin
setio;
readln(n);
for i:=1 to 1000 do
a[i]:=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,' ');
print;
end.
如上一个程序,本人初学,不知道这里的setio;print;rewrite;reset和procedure这几个词在程序中是什么意思?
(题目出处:NOIP2006明明想在学校里……完成去重和排序)这一题……
各位高手们帮下啊!! 展开
var n,x,i,s:integer;
a:array[1..1000]of integer;
procedure setio;
begin
assign(input,'random.in');
reset(input);
assign(output,'random.out');
rewrite(output);
end;
procedure print;
begin
close(input);
close(output);
end;
begin
setio;
readln(n);
for i:=1 to 1000 do
a[i]:=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,' ');
print;
end.
如上一个程序,本人初学,不知道这里的setio;print;rewrite;reset和procedure这几个词在程序中是什么意思?
(题目出处:NOIP2006明明想在学校里……完成去重和排序)这一题……
各位高手们帮下啊!! 展开
展开全部
首先,关于reset和rewrite。这两个是与文件输入输出有关的:
assign(input,'test.in');{定义输入文件}reset(input);{初始化输入文件}
assign(output,'test.out');{定义输出文件}rewrite(output);{初始化}
{之后的读入与输出就会在文件里进行,不会有一个黑框跳出来}
。。。。。。
close(input);close(output);{关闭/保存输入输出文件}
然后是procedure。这是自定义过程。后面接的setio与print是自定义过程的名称(与自定义函数有区别。建议你上网查找关于自定义函数、过程的资料,学到后面会很有用的)。
比如:
var a,b:longint;
procedure plus;
begin
read(a,b);
writeln(a+b);
end;{这里的end后面一定是分号}
begin
plus;
end.
上面这个与一开始学的:
var a,b:longint;
begin
read(a,b);
writeln(a+b);
end.
起到的效果和结果都是一样的。
assign(input,'test.in');{定义输入文件}reset(input);{初始化输入文件}
assign(output,'test.out');{定义输出文件}rewrite(output);{初始化}
{之后的读入与输出就会在文件里进行,不会有一个黑框跳出来}
。。。。。。
close(input);close(output);{关闭/保存输入输出文件}
然后是procedure。这是自定义过程。后面接的setio与print是自定义过程的名称(与自定义函数有区别。建议你上网查找关于自定义函数、过程的资料,学到后面会很有用的)。
比如:
var a,b:longint;
procedure plus;
begin
read(a,b);
writeln(a+b);
end;{这里的end后面一定是分号}
begin
plus;
end.
上面这个与一开始学的:
var a,b:longint;
begin
read(a,b);
writeln(a+b);
end.
起到的效果和结果都是一样的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询