初级编程入门题123.docx
《初级编程入门题123.docx》由会员分享,可在线阅读,更多相关《初级编程入门题123.docx(14页珍藏版)》请在冰豆网上搜索。
初级编程入门题123
一、初级编程入门题顺序结构
1、请编写一个程序,求一个正方的周长。
Programex1;
Vara,s:
real;
Begin
Readln(a);
S:
=a*4;
Writeln(s);
End.
2、请编写一个程序,求一个长方形的周长。
Programex2;
Vara,b,s:
real;
Begin
Readln(a,b);
S:
=(a+b)*2;
Writeln(s);
End.
3、请编写一个程序,求一个三角形的周长。
Programex3;
Vara,b,c,s:
real;
Begin
Readln(a,b,c);
S:
=a+b+c;
Writeln(s);
End.
4、请编写一个程序,从键盘输入两个整数,要求求和然后输出和。
例如:
输入14
输出5
Programex4;
Vara,b,s:
real;
Begin
Readln(a,b);
S:
=a+b;
Writeln(s);
End.
5、要求从键盘输入一个三位数,要求百位变十位,十位变个位,个位变百位:
例如:
输入123
输出312
Programex5;
Varx,a,b,c,d,s:
real;
Begin
Readln(x);
A:
=xdiv100;
B:
=xmod100;
C:
=bdiv10;
D:
=bmod10;
S:
=d*100+c*10+a;
Writeln(s);
End.
6、输入一个四位数要求按如下交换输出:
例如:
输入1234输出4321
Programex6;
Varx,a,b,c,d,e,f,s:
real;
Begin
Readln(x);
A:
=xdiv1000;
B:
=xmod1000;
C:
=bdiv100;
D:
=bmod100;
E:
=ddiv10;
F:
=dmod10;
S:
=f*1000+e*100+c*10+a;
Writeln(s);
End.
7、输入一个四位数要求输入各位数字的和。
例如:
输入4567
输出22
Programex6;
Varx,a,b,c,d,e,f,s:
real;
Begin
Readln(x);
A:
=xdiv1000;
B:
=xmod1000;
C:
=bdiv100;
D:
=bmod100;
E:
=ddiv10;
F:
=dmod10;
S:
=f+e+c+a;
Writeln(s);
End.
8、编一程序,键盘输入整数A,B的值,然后打印A除以B的商的整数部分及余数。
Programex2;
Vara,b,c,d:
real;
Begin
Readln(a,b);
C:
=adivb;
D:
=amodb’
Writeln(c,d);
End.
9、输入一个时、分、秒,把它转换为一个秒数。
例如输入234代表2小时3分钟4秒
输出7384代表一共有7384秒
Programex9;
Vara,b,c,s:
integer;
Begin
Readln(a,b,c);
S:
=a*3600+b*60+c;
Writeln(s);
End.
10、求三角形面积:
给出三角形的三个边长为a,b,c,求三角形的面积。
提示:
根据海伦公式来计算三角形的面积:
S=
;Area=
Programex10;
Vara,b,c,s,area:
real;
Begin
Readln(a,b,c);
S:
=(a+b+c)2;
Arer:
=sqrt(s*(s-a)*(s-b)*(s-c));
Writeln(s);
End.
11、编一程序,从键盘输入整数A,B的值,然后把A,B的值交换后输出。
Programex11;
Vara,b,t:
integer;
Begin
Readln(a,b);
t:
=a,a:
=b;b:
=t;
Writeln(a,b);
End.
12、从键盘输入两个整数,打印出更小的那个数。
Programex3;
Vara,b:
integer;
Begin
Readln(a,b);
Ifa>bthenwriteln(a)
ElseWriteln(b);
End.
选择结构
13、读入三个整数,从小到大输出。
Programex13;
Vara,b,c,t:
integer;
Begin
Readln(a,b,c);
Ifa>bthent:
=a;a:
=b;b:
=t;
Ifb:
cthent:
=b;b:
=c;c:
=t;
Ifc>athent:
=c;c:
=a;a:
=t;
Writeln(a,b,c);
End.
14、从键盘输入一个数,判断它的奇偶性,如果是奇数则输出yes,否则输出no。
Programex14;
Vara:
integer;
Begin
Readln(a);
Ifsmod2=1thenWriteln(‘yes’)
elseWriteln(‘no’);
End.
15、从键盘读入一个数,判断它的正负。
是正数,则输出"+",是负数,则输出"-"。
Programex15;
Vara:
integer;
Begin
Readln(a);
Ifa>0thenWriteln(‘+’)
Ifa<0thenWriteln(‘-’);
End.
16、从键盘输入一个数,如果是两位数那么输入yes否则输入no。
Programex16;
Varx:
integer;
Begin
Readln(x);
If(xdiv10>0)thenWriteln(‘yes’)
elseWriteln(‘no’);
End.
17、输入两个数a,b,输出较大数的平方值。
Programex11;
Vara,b,t:
integer;
Begin
Readln(a,b);
Ifat:
=a,a:
=b;b:
=t;
Writeln(a*a);
End.
18、铁路托运行李规定:
行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。
编一程序完成自动计费工作。
Programex18;
Varw,a:
real;
Begin
Readln(w);
Ifw>50thena:
=50*0.19+(w-50)*0.10
Elsea:
=w*0.15;
Writeln(w,a,);
End.
19、某超市为了促销,规定:
购物不足60元的按原价付款,超过60不足200的按九折付款,超过200元的,超过部分按八折付款。
编一程序完成超市的自动计费的工作。
Programex16;
Vara,b:
real;
Begin
Readln(a);
Ifa<60thenb:
=a
Ifa>200thenb:
=a*0.8
Elseb:
=a*0.9;
Writeln(a,’b=’,b);
End.
20、打印某年某月有多少天。
(提示:
A、闰年的计算方法:
年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。
B、利用MOD运算可以判断一个数能否被另一个数整除)。
programday(input,output);
varyear,month,days:
integer;
begin
read(year,month);
casemonthof
1,3,5,7,8,10,12:
days:
=31;
4,6,9,11:
days:
=30;
2:
if(yearmod4=0)and
(yearmod100<>0)or(yearmod400=0)
thendays:
=29
elsedays:
=28;
end;
writeln(year,’year’,month,’month:
’,’days=’,days);
end.
21、编写一个程序,功能是从键盘输入一个整数,判断它是否二位数,如果是,就打印它,然后结束程序,
Programex21;
Varx:
integer;
Begin
Readln(x);
If(xdiv10>0)thenWriteln(‘x’,x)
End.
22、编写一个程序,功能是从键盘输入三个整数,打印出其中最大的一个值。
Programex22;
Vara,b,c,t:
integer;
Begin
Readln(a,b,c);
Ifa=a;a:
=b:
b:
=t;
Ifb=b;b:
=c;c:
=t;
Ifc=c;c:
=a;a:
=t;
Writeln(a,b,c,a);
End.
23、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。
编一程序完成分数的自动转换工作。
转换规则如下:
60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。
(提示:
可以利用DIV运算来使程序更简明)
Programex22;
Vara,d:
real;
Begin
Readln(a);
D:
=adiv10;
Ifd<6tnenwriteln(‘buhege’)
Ifd<7andd>5thenwriteln(‘hege’)
Ifd<9andd>6thenwriteln(‘lianghao’);
Elsewriyeln(‘youxiu’);
End.
循环结构
分别用repeat,while循环做以下习题。
24、计算1—1000之间能同时被3和5整除的整数的和。
Programex24;
Varx,s:
integer;
Begin
S:
=0;
Forx:
=1to1000do
If(xmod3=0)and(xmod5=0)then
s:
=s+x;
Writeln(x,s);
End.
25、求所有的三位数中十位数能被个位数和百位数之和整除的数。
Programex25;
Varx:
integer;
Begin
Forx:
=100to999do
Ifa=a;a:
=b:
b:
=t;
Ifb=b;b:
=c;c:
=t;
Ifc=c;c:
=a;a:
=t;
Writeln(a,b,c,a);
End.
26、求水仙花数。
所谓水仙花数,是指一个三位数abc,如果满足a^3+b^3+c^3=abc,则abc是水仙花数。
Programex26;
Varx,a,b,c,d:
integer;
Begin
Forx:
=100to999do
A:
=xdiv100;
D:
=xmod100;
b:
=ddiv10;
c:
=dmod10;
If(a*A*a+b*b*b+c*c*c=a*100+b*10+c)then
Writeln(a*100+b*10+c);
End.
27、求所有满足条件的四位数:
(1)这四位数是11的倍数;
Programex271;
Varx:
integer;
Begin
Forx:
=1000to9999do
Ifxmod11=0then
Writeln(x);
End.
(2)b+c=a+d;
Programex272;
Varx:
integer;
Begin
Forx:
=1000to9999do
A:
=xdiv1000;
E:
=xmod1000;
B:
=ediv100;
F:
=emod100;
C:
=fdiv10;
D:
=fmod10;
Ifb+c=a+dthan
Writeln(x);
End.
28、计算下列式子的值:
(1)1+3+……+99
Programex2811;
VarI,s:
integer;
Begin
S:
=1;
Fori:
=1to33do
S:
=s+i*3;
Writeln(s);
End.
Programex2812;
VarI,s:
integer;
Begin
S:
=1;
Fori:
=1to99do
IfImod3=0then
S:
=s+i*3;
Writeln(s);
End.
(2)1+2+4+8+…+1024
29、输入一个整数,计算它各位上数字的和。
(注意:
是任意位的整数)
30、输入一整数A,判断它是否质数。
(提示:
若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。
)
用for循环做以下习题
31、1+3+5+…..+…..99=?
32、1+1/2+1/3+1/4+……1/100=?
33、1*2+2*3+3*4+……+n*(n+1)=?
34、1+1/2!
+1/3!
+…..1/n!
=?
35、求水仙花数。
所谓水仙花数,是指一个三位数abc,如果满足a^3+b^3+c^3=abc,则abc是水仙花数。
Programex26;
Varx,a,b,c,d:
integer;
Begin
Forx:
=100to999do
A:
=xdiv100;
D:
=xmod100;
b:
=ddiv10;
c:
=dmod10;
If(a*A*a+b*b*b+c*c*c=a*100+b*10+c)then
Writeln(a*100+b*10+c);
End.
36、输入一整数A,判断它是否质数。
(提示:
若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。
)
37、1+(1+3)+(1+3+5)+……(1+3+5+……+n)=?
n为奇数。
38、s=-1+3-5+7-9+……nn为奇数。