pascal习题集无分类由简到难.docx
- 文档编号:24004431
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:38
- 大小:23.98KB
pascal习题集无分类由简到难.docx
《pascal习题集无分类由简到难.docx》由会员分享,可在线阅读,更多相关《pascal习题集无分类由简到难.docx(38页珍藏版)》请在冰豆网上搜索。
pascal习题集无分类由简到难
第一组训练题
1. 输入两个整数,按由大到小的顺序输出。
(1-1)
vara,b:
integer;
begin
readln(a,b);
ifa>=bthenwrite(a,b)elsewrite(b,a)
end.
(1-2)
vara,b:
integer;
begin
readln(a,b);
ifa>bthenwrite(a:
5,b:
5)elsewrite(b:
5,a:
5);
ifa=bthenwrite('a=b');
end.
2. 输入三个整数,按由大到小的顺序输出。
vara,b,c:
integer;
max,min:
integer;
begin
readln(a,b,c);
ifa>bthenbeginmax:
=a;min:
=bend
elsebeginmin:
=a;max:
=bend;
ifc>maxthenbeginmax:
=cend;
ifc =cend; writeln(max: 5,a+b+c-max-min: 5,min: 5) 去掉最大的,去掉最小的,就是中间的,很有意思! end. 3. 求和S=1+2+3+4+……10 varS,x: integer; Begin S: =0; forx: =1to10do s: =x+s; writeln(s); end. 4. 求乘积 S=1*2*3*4*……10 vars: real; x: integer; begin s: =1; forx: =1to10do s: =s*x; writeln(s: 9: 0); end.v 5. 计算S=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8+1/9-1/10的值 vari: integer; s: real; Begin i: =1;s: =0; fori: =1to10do if(imod2)>0thens: =s+1/I elses: =s-1/i; (此处很好! ) writeln(s: 9: 4) end. 6. 有一分数序列: 2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 vari,t,fz,fm: integer; s: real; begin s: =0;fz: =2;fm: =1; fori: =1to20do begin s: =s+fz/fm; t: =fz+fm; fm: =fz; fz: =t; end; writeln(s: 8: 2); end. 7. 输入10个数字,求其中最大的那个数字。 vara: array[1..10]ofinteger; i,max: integer; begin fori: =1to10doreadln(a[i]); max: =a[1]; fori: =2to10doifa[i]>maxthenmax: =a[i];(逐个比) write('Max=',max); end. 8. 输入10个数字,求其中次大的那个数字。 vara: array[1..10]ofinteger; i,max1,max2: integer; begin fori: =1to10doreadln(a[i]); ifa[1]>a[2]thenbeginmax1: =a[i];max2: =a[2];end elsebeginmax1: =a[2];max2: =a[1];end; fori: =3to10do ifa[i]>max1thenbeginmax2: =max1;max1: =a[i]end;(max1用来比,max2接替max1) write('Max2=',max2); end. 9. 求和S=1+2+4+7+11……n(其中n是小于100的最大整数)(? ) vars,a,i: integer; begin s: =0;a: =1;i: =1; whilea<100do begin i: =i+1;s: =a+s; s: =s+a;a: =a+i; a: =a+i-1;i: =i+1 end; writeln(s); end. 10. 求和S=1+2+4+8+16+32+……n(n是小于1000的最大整数) vars,i: integer; begin s: =0;i: =1; while(i<1000)do begin s: =s+i; i: =i*2; end; writeln(s) end. 11. 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? var a,b,c,i,n: integer; s: real; begin readln(n); a: =1;b: =0;s: =a+b; fori: =1ton-2do begin c: =a+b; s: =s+c; a: =b; b: =c; end; writeln(s: 9: 4); end. 12. 打印出小九九乘法口诀表。 var i,j: integer; begin writeln; fori: =1to9do begin forj: =1toidowrite(i: 1,'*',j: 1,'=',i*j: 1,''); writeln; end; end. vari,j: integer; begin fori: =1to9do begin forj: =1toido write(i,'*',j,'=',i*j,''); writeln; end; end. 13. 满足A3+B3+C3=ABC的数字称为水仙花数,求所有的100-999之间的水仙花数。 vara,b,c: integer; begin fora: =1to9do forb: =0to9do forc: =0to9do ifa*a*a+b*b*b+c*c*c=100*a++10*b+c thenwriteln(a,b,c); end. 14. 判断输入的一个正整数是否是素数。 varn,i: integer; b: boolean; begin readln(n);i: =2;b: =True; whileband(i<=SQRT(n))do if(nmodi)=0thenb: =false elsei: =i+1; ifb=Truethenwriteln('Yes') elsewriteln('No'); end. 15. 将一个正整数分解质因数。 例如: 输入90,打印出90=2*3*3*5。 var n,i: integer; begin readln(n); i: =2; whilenmodi<>0doi: =i+1; write(n,'=',i);n: =ndivi; whilei<=ndo begin whilenmodi=0do begin write('*',i); n: =ndivi; end; i: =i+1; end; end. 16. 输入两个正整数m和n,求其最大公约数和最小公倍数。 var m,n: integer; functionasd(a,b: integer): integer; varx,y,i,j: integer; begin i: =a;j: =b; x: =amodb; whilex<>0do begin a: =b; b: =x; x: =amodb; end; x: =b; writeln('[',a,',',b,']','=',x); y: =j*idivb; writeln('(',a,',',b,')','=',y); end; begin readln(m,n); asd(m,n); end. 17. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有k=5个数相加),输入a和k,求s。 var i,a,k: integer; s,t: real; begin readln(a,k); s: =a;t: =a; fori: =2tokdo begin t: =t*10+a; s: =s+t; end; write('S=',a,'+..+',t: 0: 0,'=',s: 0: 0); end. 18. 一个不超过5位的整数,判断它是不是回文数。 即12321是回文数,个位与万位相同,十位与千位相同。 var s: string;b: boolean;i,j: integer; begin read(s); j: =length(s); i: =1; b: =true; while(i<=j)andbdo begin b: =(s[i]=s[j]); i: =i+1; j: =j-1; end; ifbthenwriteln('yes') elsewriteln('no'); end. 19. 输入某年某月某日,判断这一天星期几。 const a: array[1..12]ofinteger=(31,28,31,30,31,30,31,31,30,31,30,31); b: string='SunMonTueWedThiFriSat'; var year,month,day,i,s: integer; begin readln(year,month,day); s: =0; fori: =1toyear-1do begin s: =(s+365)mod7; ifimod4=0thens: =s+1; ifimod100=0thens: =s-1; ifimod400=0thens: =s+1; end; fori: =1tomonth-1dos: =s+a[i]; if(yearmod400=0)or((yearmod4=0)and(yearmod100<>0))then ifmonth>2thens: =s+1; s: =(s+day)mod7; fori: =3*s+1to3*s+3dowrite(b[i]); end. 20. 输入10个整数,按由大到小的顺序输出。 type arr=array[1..10]ofinteger; var i,j,k: integer; a: arr; begin fori: =1to10doread(a[i]); readln; fori: =1to9do forj: =1to10-ido
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 习题集 分类 简到难