Delphi部分编程题和答案
百元钱买百只鸡
var
  x, y, z : integer;
  p : string;
begin
  Memo1.Clear;
  For x := 0 To 19 do
    For y := 0 To 33 do
      begin
        z := 100 - x - y;
        If 5 * x + 3 * y + z / 3 = 100 Then
          begin
            p := Format('%3d  %3d  %3d',[x,y,z]);
            memo1.Lines.Add(p);
        end;
判断一个数是否是素数
function PrimeNumber(Source: Integer): boolean;
var
  i: Integer;
begin
  Result := True;
  for i := 2 to Source - 1 do
    if Source mod i = 0 then
    begin
      Result := False;
      Break;
    end;
end;
求出所有的水仙花数。5123
var 
      i,j,k,l:Integer; 
      s:String; 
  begin 
      s:='水仙花数为:'#13; 
      for  i:=100  to  999  do 
      begin    //百位数 
          j:=Trunc(i/100);    //十位数 
          k:=i-j*100; 
          k:=Trunc(k/10);  //个位数 
          l:=i-j*100-k*10; 
      if  i=j*j*j+k*k*k+l*l*l  then//是水仙花数 
              s:=s+IntToStr(i)+#13;
      end; 
      ShowMessage(s); 
  end;
1100的累加和
var
  i,j:integer;
begin
    j:=1;
    repeat
          i:=i+j;;
          j:=j+1;
    until j>=100;
    :=inttostr(i);
end;
求阶乘
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
function fact(m:integer):int64;
begin
  if (m=0) then
  begin
    fact:=1;
    exit;
  end
  else
  fact:=fact(m-1)*m;
end;
var
n:integer;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  writeln('请输入n的值(0<n<20):');
  readln;
  if (n<0) then
write('输入错误')
  else
  writeln(n,'的阶乘等于:',fact(n));
  readln(n);
end.
斐波那契数列
Function F(n:integer):integer; 
begin
if n=1 or n=2 then F=1
else 
F=F(n-1)+F(n-2); 
end;
Function Sum(n:integer):integer;
var i,n:integer;
begin
n:=0;
for i=1 to n do n:=n+F(i);
Sum:=n;
end;
任意输入三个数,由大到小排列
var a, b, c, e, f : integer;
begin
delphi trunc函数
  a := strtoint(edit1.Text);
  b := strtoint(edit2.Text);
  c := StrtoInt(edit3.Text);
  e := Max(a, b);
  f := Max(e, c);
  showmessage(inttostr(f));
end;
ax2+bx+c=0,解方程
Program project1;
  {$APPTYPE CONSOLE}
  VAR  a,b,c,d:real;
          s,x1,x2:real;
begin
  write(‘请输入系数 a,b,c:’);
  readln(a,b,c);
  d:=b*b-(4*a*c);
  s:=sqrt(d);
  x1:=(-b+s)/(2*a);
  x2:= (-b-s)/(2*a);
  writeln(‘x1=‘,x1,’’,’x2=‘,x2);
  readln;
end.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。