习题一

  • 格式: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