当前位置:首页 > 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.
共分享92篇相关文档