习题一
- 格式:doc
- 大小:56.00 KB
- 文档页数:6
习题一
1.假设邮局规定寄邮件时若每件重量在1公斤以内(含1公斤),按每公斤1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。请编程序计算邮件收费。
Program ex1;
Var w,j:real;
Begin
Readln(w);
If w<=1 then j:=1.5*w;
If w>1 then j:=1.5+0.8*(w-1);
Writeln(j);
end
2.输入三个正整数,若能用这三个数作为边长组成三角形,就计算并输出该三角形的面积,否则输出Can't。(组成三角形的条件为:任意两边之和大于第三边)
Program ex2;
Var a,b,c,s,p:real;
Begin
Readln(a,b,c);
If(a+b>c)and (b+c>a)and (c+a>b) then
P:=(a+b+c)/2;
S:=sqrt(p*((p-a)+(p-b)+(p-c)));
Writeln(s);
Else writeln(‘Can't);
End.
3.输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。
4.运输公司计算运费时,距离(S)越长,每公里运费越低,标准如下:
如果S<250公里;运费为标准运价的100%
如果250公里<=S<500公里,运费为标准运价的98%;
如果500公里<=S<1000公里,运费为标准运价的95%;
如果1000公里<=S<2000公里,运费为标准运价的92%;
如果2000公里<=S<3000公里,运费为标准运价的90%;
如果S=>3000公里,运费为标准运价的85%;。请编计算运费的程序。
Program ex4; Var s,j:real;
Begin
Readln(s);
If s<250 then j:=y*100%;
If s>=250 and s<500 then j:=y*98%;
If s>=500 and s<1000 then j:=y*95%;
If s>=1000 and s<2000 then j:=y*92%;
If s>=2000 and s<3000 then j:=y*90%;
If s>=250 then j:=y*85%;
Writeln(j);
End.
5. 输入考试成绩,如果获85分以上为 A等,获60分~84分为B等,60分以下为C等,编程输出考试等级。
Program ex5;
Var x:real;
Begin
Readln(x)
If x>=85 then writeln(‘a’);
If x<=60 and a<=84 then writeln(‘b’);
If x<60 hthen writeln(‘c’);
End.
6. 某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N
<130 者奖金为70元;N > 130者为80元。
请编程,由键盘输入加工零件数量,显示应发奖金数。
Program ex6;
Var n,j:integer;
Begin
Readln(n);
If n<100 then j:=10;
If n<=100 and n<110 then j:=30;
If n<=110 and n<120 then j:=50;
If n<=120 and n<130 then j:=70;
If n>130 then j:=80;
Writeln(j)
End.
习题二
1.求S= 1-1/2 +1/3-1/4+1/5-1/6+ ……(求前N项的和)
2. Faibonacci数列前几项为: 0,1,1,2,3,5,8,…,其规律是从第三项起, 每项均等于前两项之和。求前30项, 并以每行5个数的格式输出。
3.小球从100高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时, 小球共通过多少路程?
4.某登山队员第一天登上山峰高度的一半又24米; 第二天登上余下高度的一半又24米;每天均如此。到第七天,距山顶还剩91米。求此山峰的高度?
5.给出某整数N,将N写成因数相乘的形式。如: N=12,输出: 12=1*2*2*3.
6.出售金鱼者决定将缸里的金鱼全部卖出。第一次卖出全部金鱼的一半加二分之一条;第二次卖出剩余的三分之一加三分之一条金鱼;第三次卖出余下金鱼的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条金鱼。还剩下11条金鱼。当然,出售金鱼时都是整数条,不能有任何破损。求缸里原有的金鱼数?
7.外出旅游的几位朋友决定次日早晨共分一筐苹果。天刚亮,第一个人醒来,他先拿了一个,再把筐里的八分之一拿走;第二个人醒来,先拿两个,再把筐里的八分之一拿走;第三个人醒来,先拿三个,再拿走筐里的八分之一;…每个人依次照此方法拿出各人的苹果,最后筐里的苹果全部拿完,他们每人所拿到的苹果数正巧一样多。求原先筐里的苹果数和人数。
8.图中由6个圆圈构成三角形,每条边上有三个圈, 将自然数1--6 不重复地填入各圆圈位置上,使每条边圆圈上的数字之和相等,请编程输出所有的填法。
综合习题三
练习1、键入一个自然数N(<10000),求这个自然数的所有约数之和S (不包含1和n)。
如:
输入:
6
输出:
5
练习2、求100---999中的水仙数。
(若三位数abc,a3+b3+c3=abc,则称abc为水仙数。如153,13+53+33=1+125+27=153,则153称为水仙数)。
练习3、从键盘上输入n个数,输出他们的最大数,最小数,平均数。
输入:
第一行:n(<100).
第二行:n个正整数([1,1000]),中间一个空格隔开。
输出:
第一行:最大数。
第二行:最小数。
第三行:n个数的平均值(小数点后保留2位小数)。
样例:
输入:
4
10 4 20 30 输出:
30
4
16.00
练习4、键入一个自然数N(<=109),求这个自然数的因数的个数S(包含1和n)。
如:
输入:
6
输出:
4
练习5、编一个程序,从键盘输入一个真分数的分子n和分母m,输出它的小数形式,精确到小数点后k位。
输入:
第一行:n m (1
第二行:k(<1000)
输出:
n/m的小数形式,小数点后保留k位小数。
样例:
输入:
1 3
5
输出:
0.33333
练习 6、输入正整数n(<1000000),判断它是否为素数。是素数输出”yes”,不是素数输出”no”.
练习7、输入正整数k(<1000),输出k以内的素数和.
练习8:
任何一个n3一定可以表示成n个连续的奇数和。输入n(n≤100),输出n3对应的表达式。
样例:
输入:3
输出:7+9+11
(说明:33=7+9+11)
练习9:
求两个数a,b(<1000)的最小公倍数。
样例:
输入:
20 30
输出:
60
练习10、输入n(<1015),求他的各位数字之和.
如:
输入:
1234
输出:
10
综合练习四
1、陶陶摘苹果(NOIP2009p)
(apple.pas/c/cpp)
【问题描述】
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
2、灯的开关状态
有N个灯放成一排,从1到N依次顺序编号,开始时全部打开。有N个人也从1到N依次编号。1号人将灯全部关闭,2号人将凡是编号为2的倍数的灯打开;3号人将凡是编号为3的倍数的灯作相反处理(该灯如为打开的, 则将它关闭;如关闭的,则将它打开)。以后的人都和3号人一样,将凡是自己编号倍数的灯作相反处理。
编程实现:第N个人操作后,按顺序输出灯的状态。(1-表示灯打开,0-表示灯关闭)
输入:n(n<=100),灯的个数,
输出:灯的状态,01序列,中间无空格。
样例:
输入:2
输出:01
4、
输入一个正整数N(<10000),把它分解成质因子相乘的形式。
如:36=1 X 2 X 2 X 3 X 3;
19=1 X 19
样例:
输入:
36
输出:
1 * 2 * 2 * 3 * 3
5、已知:
N!= 1*2*...*n。
输入n(<10000),求n!后面连续0的个数。
样例输入:
15