想判断一下一个素数,但是程序总是停不住,一闪而过。刚学delphi,
感觉不行啊,哎,帮忙了。
program Project1;{$APPTYPE CONSOLE}uses
SysUtils;function prime(var n:Integer):Boolean;
Var x,i:Integer;
begin
x:=n div 2;
for i:=0 to x do
if n div i=0 then
begin
Result:=True;
break;
end
else Result:=False;end;
var ok:Boolean;
var xx:Integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
xx:=8;
ok:=Prime(xx);
WriteLn('dfdfdfdfd');///这几行都是测试的看不清结果。
ReadLn;
WriteLn('ok');
end.
感觉不行啊,哎,帮忙了。
program Project1;{$APPTYPE CONSOLE}uses
SysUtils;function prime(var n:Integer):Boolean;
Var x,i:Integer;
begin
x:=n div 2;
for i:=0 to x do
if n div i=0 then
begin
Result:=True;
break;
end
else Result:=False;end;
var ok:Boolean;
var xx:Integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
xx:=8;
ok:=Prime(xx);
WriteLn('dfdfdfdfd');///这几行都是测试的看不清结果。
ReadLn;
WriteLn('ok');
end.
做成exe让别人运行嘛??
不能象c那样有个getchar()嘛???
如果做了个exe这还不是照样一闪而过?
???出错了当然提前结束?不知道被除数不能为0吗?
看看这两行代码,i为0则n div 0肯定会引发错误!!
for i:=0 to x do
if n div i=0 then
delphi的除法也真怪,如果是取模可怎么办阿?
还有x:=sqrt(n);用不了真是不习惯delphi的语法。
procedure TForm1.Button1Click(Sender: TObject);
var S, Temp: string;
begin
Str(Sqr(5.0):3:1, Temp);
S := '5 squared is ' + Temp + #13#10;
Str(Sqrt(2.0):5:4, Temp);
S := S + 'The square root of 2 is ' + Temp;
MessageDlg(S, mtInformation, [mbOk], 0);
end;