求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.

解决方案 »

  1.   

    你的不是 控制台程序 ,不能使用writeln 输出 ,需要用 ShowMessage 或者 MessageBox等来查看你的信息 
      

  2.   

     这个的话如何查看呢?因为刚开始学习,还不是很懂。   这样的话要将运算结果写入到txt文件中应该如何写呢。procedure TForm1.btn1Click(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     //判断是否是素数
     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.
      

  3.   

    DeleteFile('C:\Program Files\Borland\Delphi5\MYDATE.TXT');
    AssignFile(F,'C:\Program Files\Borland\Delphi5\MYDATE.TXT');
    两句话之间加入时间延迟,或者根本不需要删除,覆盖就可以了。
      

  4.   

    我在这两句话中间加入了时间延迟sleep(1000);
    运行后还是不行的。