求100~~200间的素数的个数,和最大10个的和:
编译通过,但是运行时会报 i/o error 103 大侠们帮忙看看,小女子不胜感激~~~
procedure TForm1.Button1Click(Sender: TObject);
var
F : Textfile;
a:array[1..103]of integer;
i,j :Integer;
number:integer;
count :integer;begin
count:=0;
number:=0;
filecreate('C:\Program Files\Borland\Delphi5\MYDATE.TXT'); //创建txt文件用于存储结果
AssignFile(F, 'C:\Program Files\Borland\Delphi5\MYDATE.TXT');for i:=100 to 200 do //判断是否是素数,是则标志a[i]=0
begin
a[i]:=1;
for j:=2 to i do
begin
if(i Mod j=0) then
begin
a[i]:=0;
Break;
end;
end;
end;
for i:=200 Downto 100 do //计算最大的10个素数和(count)及素数的个数(number)
begin
if(a[i]=1) then
begin
number:=number+1;
if(number<11)then count:=count+i;
end;
end;
writeln(F,'素数和是');
writeln(F,IntToStr(count));
writeln(F,'素数共有:');
writeln(F,IntToStr(number));
end;
end.
编译通过,但是运行时会报 i/o error 103 大侠们帮忙看看,小女子不胜感激~~~
procedure TForm1.Button1Click(Sender: TObject);
var
F : Textfile;
a:array[1..103]of integer;
i,j :Integer;
number:integer;
count :integer;begin
count:=0;
number:=0;
filecreate('C:\Program Files\Borland\Delphi5\MYDATE.TXT'); //创建txt文件用于存储结果
AssignFile(F, 'C:\Program Files\Borland\Delphi5\MYDATE.TXT');for i:=100 to 200 do //判断是否是素数,是则标志a[i]=0
begin
a[i]:=1;
for j:=2 to i do
begin
if(i Mod j=0) then
begin
a[i]:=0;
Break;
end;
end;
end;
for i:=200 Downto 100 do //计算最大的10个素数和(count)及素数的个数(number)
begin
if(a[i]=1) then
begin
number:=number+1;
if(number<11)then count:=count+i;
end;
end;
writeln(F,'素数和是');
writeln(F,IntToStr(count));
writeln(F,'素数共有:');
writeln(F,IntToStr(number));
end;
end.
var
F : Textfile;
a:array[1..103]of integer;
i,j :Integer;
number:integer;
count :integer;
begin
count:=0;
number:=0;
filecreate('C:\Program Files\Borland\Delphi5\MYDATE.TXT'); //创建txt文件用于存储结果
AssignFile(F, 'C:\Program Files\Borland\Delphi5\MYDATE.TXT');for i:=100 to 200 do //判断是否是素数
begin
a[i]:=1;
for j:=2 to i-1 do
begin
if(i Mod j=0) then
begin
a[i]:=0;
Break;
end;
end;
end; for i:=200 Downto 100 do //计算最大的10个素数和(count)及素数的个数(number)
begin
if(a[i]=1) then
begin
number:=number+1;
if(number<11)then
count:=count+i;
end;
end;
edt1.text:=IntToStr(count); //写入对话框中,进行直接显示
edt2.text:=IntToStr(number);
--------------------------以上单独运行完全正确,加上下面的写入txt就会报错i/o error 32,不知道该如何修改呢??--------------
//写入TXT文件中
if fileExists('C:\Program Files\Borland\Delphi5\MYDATE.TXT')
then
DeleteFile('C:\Program Files\Borland\Delphi5\MYDATE.TXT');
AssignFile(F,'C:\Program Files\Borland\Delphi5\MYDATE.TXT');
ReWrite(F);
Writeln(F,IntToStr(count));
Writeln(F,IntToStr(number));
Closefile(F);end;
end.
AssignFile(F,'C:\Program Files\Borland\Delphi5\MYDATE.TXT');
两句话之间加入时间延迟,或者根本不需要删除,覆盖就可以了。
运行后还是不行的。