Free Pascal练习题

发布时间 : 星期日 文章Free Pascal练习题更新完毕开始阅读

1. 满足a*a*a+b*b*b+c*c*c=abc的数字称为水仙花数,求所有的100-999之间的水仙花数。 program samp2; var

a,b,c:integer; BEGIN

for a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do

if (a*a*a+b*b*b+c*c*c)=(a*100+b*10+c) then writeln(a*100+b*10+c); readln(); END.

2. 百鸡问题:一只公鸡值3元,一只母鸡值1元,而1元可买3只小鸡。现有100元钱,想买100只鸡。问可买公鸡、母鸡、小鸡各几只 program samp4; var

gj,mj,xj:integer; BEGIN

for gj:=1 to 33 do for mj:=1 to 98 do for xj:=1 to 98 do

if (gj*3+mj*1+xj/3=100) and(gj+mj+xj=100) then writeln('gj=',gj,' mj=',mj,' xj=',xj); readln(); END.

3满足a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d=abcd的数字称为四位水仙花数,求所有的1000-9999之间的水仙花数。 program samp6; var

a,b,c,d:integer; BEGIN

for a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do for d:=0 to 9 do

if (a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)=(a*1000+b*100+c*10+d) then writeln(a*1000+b*100+c*10+d); readln(); END.

2.在屏幕上输出乘法口诀表。 Program Exam4;

Var

a,b:integer; Begin

for a:=1 to 9 do begin

for b:=1 to a do

write(b,'X',a,'=',a*b:2,' '); writeln end; Readln; End.

5.用FOR循环的方法做以前做过的题:某车棚存有自行车和三轮车共65辆,它们的轮子数合计为150个,求该棚内存有的自行车和三轮车各是多少辆? Program samp10; var

a,b:integer; Begin

For a:=1 to 65 do for b:=1 to 65 do

if (a+b=65) and (2*a+3*b=150) then writeln('a=',a,' b=',b); Readln; End. 6.一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。

程序如下,结果是:15,26,37,48,59不要先给他看.

Program ex34; var

x,y,a,b:integer; Begin

For x := 10 to 99 do Begin

a := x div 10; b := x mod 10; y := b*10+a;

if y-x=36 then writeln(x); End; Readln; End.

7.在屏幕上.打印出100至200之间的奇数,每行输出5个数。

Program samp11; Var a,b:integer; Begin b:=0;

For a:=100 to 200 do begin

if (a mod 2=1) then begin b:=b+1;

if (b mod 5=0)then writeln(a,' ') else write(a,' ') end; end; Readln; End.

8.一辆快车和一辆慢车开往同一地点,快车票价为18元,慢车票价为13. 5元,共售出400张,共计5940元,求快车票和慢车票各多少张?. Program samp12; var

kc,mc:integer; Begin

For kc:=1 to 400 do for mc:=1 to 400 do

if (kc*18+mc*13.5=5940) and (kc+mc=400) then write('kc=',kc,' mc=',mc); Readln; End.

9.输入一个自然数,求这个自然数的所有约数之和。 Program samp13; var

a,b,s:integer; Begin

write('input a='); readln(a); s:=0;

For b:=1 to a do if a mod b=0 then s:=s+b;

write('s=',s); Readln; End.

10.在屏幕上输出1至300之间的个位数是3的数,每行输出3个数。 Program samp15; var

a,b:integer; Begin b:=0;

For a:=1 to 300 do begin

if (a mod 10=3) then begin b:=b+1;

if (b mod 3=0)then writeln(a,' ') else write(a,' ') end; end; Readln; End.

11.有一堆100多个零件,如果3个3个数剩2个,5个5个数剩3个,7个7个数剩5个,请计算出这堆零件至少有多少个? Program samp14; var

a,b,s:integer; Begin

For a:=100 to 200 do

if (a mod 3=2) and(a mod 5=3) and (a mod 7=5) then write('a=',a); Readln; End.

12.第1行输出1个*,第2行输出2个*,以此类推,一直到第10行输出10个*号。

Program samp1; var

a,b:integer; Begin

For a:=1 to 10 do begin

for b:=1 to a do write('*'); writeln; end; Readln;

End.

13. 编程求出所有不超过99的数中,含有数字3的自然数,并统计总数。 程序如下

Program samp4; var

a,b:integer; Begin b:=0;

For a:=1 to 99 do

if (a div 10=3) or (a mod 10=3) then begin writeln(a); b:=b+a; end;

writeln('zongshu is:',b); Readln(); End.

联系合同范文客服:xxxxx#qq.com(#替换为@)