100个经典C语言编程例子(答案另附) 下载本文

100个经典C语言编程例子(答案另

编写第一个C语言程序。在屏幕上输出:Hello World! 附)

1:计算 A+B 的问题

时间限制:1000MS 内存限制:10000K 总提交数:1347 正确数:655

问题描述

输入两个整数 a 和 b , 计算 a+b 的结果并输出。

输入

两个整数

输出

一个整数

输入样例 1 2

输出样例 3

2:Hello World!

时间限制:1000MS 内存限制:65536K 总提交数:848 正确数:693

问题描述

输入

程序没有输入

输出

Hello World!

输入样例

输出样例

Hello World!

提示

1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。3:两个整数的值互换

时间限制:1000MS 内存限制:65536K 总提交数:1235 正确数:530

问题描述

输入两个整数a,b ,将 a 和 b 的值互换,并输出。

例如: 输入: 2 5 输出: 5 2

输入

第 1 页 共 58 页

两个整数

输出

两个整数

输入样例

2 5

输出样例

5 2

提示

注意输入和输出的格式,两个数据之间用一个空格隔开。

问题来源

4:计算三门课程总分和平均分

时间限制:1000MS 内存限制:65536K 总提交数:1190 正确数:482

问题描述

输入三门课程的成绩,输出总分和平均分。 要求:

(1)输入三个数,用空格隔开。输入的数可以是小数。 (2)输出两个数,用空格隔开。输出的数保留两位小数。

例如:

输入: 75 80 90 输出: 245.00 81.67

输入

输入三个数,用空格隔开。输入的数可以是小数。

输出

输出两个数,用空格隔开。输出的数保留两位小数。

输入样例

75 80 90

输出样例

245.00 81.67

问题来源

5:鸡兔同笼问题

时间限制:1000MS 内存限制:65536K 总提交数:872 正确数:443

问题描述

这个问题,是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?

先要求编写一个程序求解这个问题。要求:输入头和脚的个数,输出鸡和兔子的个数。

输入

两个整数

第 2 页 共 58 页

输出

两个整数

输入样例

20 50

输出样例

15 5

提示

注意输出和输出格式。不能附加题目要求之外的其它内容。

问题来源

6:输出一个自然数的百位十位和个位上的各个数字

时间限制:1000MS 内存限制:65536K 总提交数:695 正确数:437

问题描述

输入一个自然数,输出这个整数的百位、十位和个位上的数字。

例1: 输入: 8

输出: 0 0 8

例2:

输入: 26 输出: 0 2 6

例3:

输入: 347

输出: 3 4 7

例4:

输入: 1234 输出: 2 3 4

输入

一个正整数

输出

三个0-9之间的数(空格分隔)

输入样例

1234

输出样例

2 3 4

提示

1、输入的数可能是0-32767之间的任何一个数;

2、输出必须是三个0-9之间的数,三个数用空格分隔。 3、输出不能有其它多余的内容;

4、本程序的关键在于使用 % 和 / 运算。

问题来源

7:输出字符(A-F)代表的十六进制数所对应的十进制值

第 3 页 共 58 页

2、输出的必须是一个10-15之间的十进制整数。 时间限制:1000MS 内存限制:65536K

总提交数:462 正确数:387 问题来源

问题描述

8:求华氏温度所对应的摄氏温度

输入一个字符(A-F之间),输出该字符所代表的十六进制数所对应的十进

制数的值。 时间限制:1000MS 内存限制:65536K

总提交数:556 正确数:407 例1:

输入: A 问题描述 输出: 10

输入一个华氏温度值,求其所对应的摄氏温度。计算公式为:例2: (华氏温度-32)

输入: B 输出的摄氏温度保留2位小数。 输出: 11

输入输出举例: 例3:

输入: F 例1:

输出: 15 输入: 100 输入 输出: 37.78 一个字符 例2:

输出

输入: 40 一个10-15之间的十进制整数 输出: 4.44

输入样例 输入 一个小数 输出

B 一个小数(保留2位小数)

输出样例 输入样例 100

11 输出样例

提示 37.78

提示 1、输入的内容必须是 A - F之间,可以作为字符输入,也可以作为一个十

六进制数输入;

注意输出的格式:只能保留2位小数

第 4 页 共 58 页

摄氏温度=5/9*

问题来源

10:已知三边计算三角形的面积

时间限制:1000MS 内存限制:65536K 总提交数:585 正确数:374

问题描述

输入三角形的三条边的值,计算三角形的面积。

要求:

(1)输入三个数(可以是小数),用空格隔开; (2)输出一个数,保留6为小数。 (3)数据采用double类型。

输入

三个数,用空格隔开。可以是小数

输出

一个数,保留6为小数。

输入样例

3 4 5

输出样例

6.000000

提示

(1)使用海伦公式; (2)注意需要头文件。

问题来源

9:已知斜边和一直角边计算三角形的另一直角边

时间限制:1000MS 内存限制:65536K 总提交数:547 正确数:415

问题描述

已知斜边和一直角边,计算三角形的另一直角边。

输入

两个数,第一个数为斜边,第二个数为一直角边。两个数以空格分隔。

输出

一个数(保留2位小数)

输入样例 5 4

输出样例

3.00

提示

1、注意数据类型;

2、要使用到数学函数,必须包含相应的头文件; 3、注意输出格式。

问题来源

第 5 页 共 58 页

11:输出小写字母的ASCII码及对应大写字母

时间限制:1000MS 内存限制:65536K 总提交数:602 正确数:378

问题描述

从键盘输入一个小写字母,输出其ASCII和对应的大写字母。

输入

一个字符(小写字母)

输出

一个整数(ASCII码的值)和一个字符(对应的大写字母),用空格分隔开

输入样例 a

输出样例

97 A

问题来源

12:保留两位小数

时间限制:1000MS 内存限制:65536K 总提交数:467 正确数:335

问题描述

从键盘输入一个小数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数以便验证是否正确。

要求:

(1)输入一个小数;

(2)输出一个小数,输出有六位小数。

例1:

输入:123.4567 输出:123.460000

例2:

输入:123.4447 输出:123.440000

输入

一个小数

输出

一个小数

输入样例

123.4567

输出样例

123.460000

提示

第 6 页 共 58 页

注意:使用数据使用double类型。

问题来源

13:判断输入的一个字符是否是小写字母

时间限制:1000MS 内存限制:65536K 总提交数:492 正确数:373

问题描述

从键盘输入一个字符,若是小写字母,输出其对应的 ASCII 码值;若不是则输出 “ERROR” 。

输入输出举例如下:

例1: 输入: a 输出: 97

例2: 输入: z 输出: 122

例3: 输入: ?

输出: ERROR

输入

一个字符

输出

一个十进制的整数 或 ERROR

输入样例 a

输出样例 97

提示

1、使用简单分支结构进行编程。也可使用 ? : 运算符。 2、注意输入和输出格式,输出中不能有其它多余的内容。

问题来源

14:简单字符加密变换 A->F

时间限制:1000MS 内存限制:65536K 总提交数:450 正确数:322

问题描述

现需要对输入的字符进行加密变换。加密变换的基本方法如下: 输入 A ,输出 F ;输入 B ,输出 G; ...... ; 输入 Y ,输出 D ;输入 Z ,输出 E 。编写一个程序实现该加密变换。

举例:

例1: 输入: A 输出: F

例2: 输入: B 输出: G

第 7 页 共 58 页

例3: 输入: Z 输出: E

输入

输入一个字母

输出

一个字母

输入样例 A

输出样例 F

提示

可行的方案有很多。例如可以使用条件运算符 ?:进行程序设计,也可使用 % 运算符进行程序设计。

问题来源

15:判断输入的一个字符是什么类型的字符

时间限制:1000MS 内存限制:65536K 总提交数:583 正确数:337

问题描述

从键盘上输入一个字符,判断输入的字符是字母、数字、还是其它。 若输入的是字母,则输出capital;若输入的是数字,则输出 number ;若输入的是其它字符,则输出 other 。

输入输出举例:

例1: 输入: G

输出: capital

例2: 输入: f

输出: capital

例3: 输入: 8

输出: number

例4: 输入: ! 输出: other

输入

一个字符

输出

apital 或 number 或 other

输入样例 G

第 8 页 共 58 页

输出样例

capital

提示

注意输出的内容一定要与题目的要求一致,包括大小写。

问题来源

16:判断一个学生的成绩等级

时间限制:1000MS 内存限制:65536K 总提交数:536 正确数:375

问题描述

请输入一个学生的 C 语言考试成绩,如果成绩少于 60 分,则输出 “ failed” ;如果成绩大于等于 60 ,且小于 80 ,则输出 “middle” ;如果成绩大于等于 80 分,则输出 “excellent” ;

输入输出举例:

例1:

输入: 55 输出: failed

例2:

输入: 75 输出: middle

例3:

输入: 85

输出: excellent

输入

一个数值

输出

failed 或 middle 或 excellent

输入样例 85

输出样例

excellent

提示

输出的内容一定要与题目要求一致,包括大小写。

问题来源

17:输出数字(1-7)对应的英文星期名称的简写

时间限制:1000MS 内存限制:65536K 总提交数:536 正确数:337

问题描述

从键盘输入一位整数( 1-7 ),输出对应的英文星期名称的简写( Mon, Tues, Wed, Thu, Fri, Sat, Sun ) 输入输出举例:

第 9 页 共 58 页

例1: 输入:1 输出:Mon

例2: 输入:4 输出:Thu

输入

一个整数(1-7之间)

输出

Mon 或 Tues 或 Wed 或 Thu 或 Fri 或 Sat 或 Sun

输入样例 2

输出样例

Tues

提示

1、可使用 if ... else if 结构,也可使用switch结构。 2、输出的内容必须与题目要求的一致,包括大小写。

问题来源

18:给定三个边长的值判断是否能够构成三角形

时间限制:1000MS 内存限制:65536K 总提交数:650 正确数:347

问题描述

输入三个数作为三角形的边长 (a,b,c) ,判断是否能构成一个三角形(两边之和大于第三边,两边之差小与第三边),若能构成三角形输出 YES ,若不能构成三角形则输出 NO

输入输出举例:

例1:

输入: 3 4 5 输出: YES

例2:

输入: 8 2 5 输出: NO

输入

三个数(用空格分隔)

输出

YES 或 NO

输入样例

3 4 5

输出样例 YES

第 10 页 共 58 页

问题来源 将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小;

19:将输入的三个数按从小到大的顺序输出 问题来源

时间限制:1000MS 内存限制:65536K 总提交数:460 正确数:308 20:编程计算一个分段函数

问题描述 时间限制:1000MS 内存限制:65536K

总提交数:428 正确数:319 输入三个整数 x,y,z ,请把这三个数由小到大输出。

问题描述 举例:

例1:

有一个函数如下: 输入: 6 3 9

输出: 3 6 9 y = x (x<1)

= 2x-1 (1≤x<10) 输入 = 3x-11 (x≥10)

三个整数(用空格分隔) 编写一个程序,要求输入 x, 输出 y 的值。

输出

输入输出举例: 三个整数(用空格分隔)

例1:

输入样例 输入:0.2 输出:0.20

6 3 9 例2:

输入:5.5 输出样例 输出:10.00

例3: 3 6 9 输入:12

输出:25.00 提示

我们想办法把最小的数放到 x 上:先将 x 与 y 进行比较,如果 x>y 则

第 11 页 共 58 页

y保留2位小数 ) (

输入

一个数

输出

一个数

输入样例 5.5

输出样例

10.00

问题来源

21:这个数能被3整除吗?

时间限制:1000MS 内存限制:65536K 总提交数:546 正确数:374

问题描述

从键盘输入一个整数,判别它是否能被3整除。若能被3整除,打印出YES,否则打印出NO。

要求:

输入:一个整数 输出:YES 或 NO

例1: 输入: 9

输出: YES

例2: 输入: 8 输出: NO

输入

一个整数

输出

YES 或 NO

输入样例 9

输出样例 YES

问题来源

22:这个月有多少天?

时间限制:5000MS 内存限制:65536K 总提交数:542 正确数:290

问题描述

输入年和月,计算这年的这月有多少天,并输出。

要求:

输入:两个数,分别代表年和月。两个数间用空格分隔;

第 12 页 共 58 页

输出:一个数,代表天数

例1:

输入:2009 12 输出:31

例2:

输入:2008 2 输出:29

例3:

输入:2007 2 输出:28

例4:

输入:2008 4 输出:30

输入

两个数,分别代表年和月。两个数间用空格分隔;

输出

一个数,代表天数

输入样例

2008 2

输出样例 29

提示

注意: 需要进行闰年的判别。

问题来源

23:模拟加减乘除计算器

时间限制:1000MS 内存限制:65536K 总提交数:361 正确数:274

问题描述

编写一个程序模拟一个计算器,能够实现两个数的加减乘除运算。

要求:

(1)输入一个表达式。该表达式包含两个数和一个运算符,运算符处在两个数中间,表达式中没有空格。只考虑 +、-、*、/ 四种运算符。 (2)输出计算结果,保留六位小数。

例1:

输入: 1.2+2.3 输出: 3.5000000

例2:

输入: 2.3-1.2 输出: 1.1000000

例3:

输入: 2.3*1.2 输出: 2.760000

例3:

输入: 2.3/1.2 输出: 1.916667

第 13 页 共 58 页

输入

输入一个表达式。该表达式包含两个数和一个运算符,运算符处在两个数中间,表达式中没有空格。只考虑 +、-、*、/ 四种运算符。

输出

输出一个数,保留六位小数。

输入样例

1.2+2.3

输出样例

3.500000

提示

注意输入语句中的格式控制。试试: scanf(\

问题来源

24:输出三个数中的最大数和最小数

时间限制:1000MS 内存限制:65536K 总提交数:386 正确数:298

问题描述

输入三个整数,输出其中的最大数和最小数。要求输入和输出的数据之间用空格分隔。

例1:

输入: 1 5 3 输出: 5 1

例1:

输入: 6 5 3 输出: 6 3

输入

三个整数,用空格分隔

输出

两个整数,用空格分隔。大的数放在前面

输入样例

1 5 3

输出样例 5 1

问题来源

25:个人所得税问题(1)

时间限制:1000MS 内存限制:65535K 总提交数:389 正确数:275

问题描述

输入一个职工的月薪salary,输出应当缴纳的个人所得税tax(输出时保留2位

第 14 页 共 58 页

小数)。

个人所得税计算方式如下: (注意:不需要进行分段计税,每个人的税率输出:320.63

例8:

只有一种)

tax = rate x ( salary - 850 ) / 100

当:

salary ≤ 850 , rate=0 ;

850 < salary ≤ 1350, rate=5 ; 1350 < salary ≤ 2850, rate=10 ; 2850 < salary ≤ 5850, rate=15 ; 5850 < salary, rate=20 .

例1:

输入:600 输出:0.00

例2:

输入:850 输出:0.00

例3:

输入:1200 输出:17.50

例4:

输入:1350 输出:25.00

例5:

输入:1455.6 输出:60.56

例6:

输入:2850 输出:200.00

例7:

输入:2987.5

输入:5850 输出:750.00

例9:

输入:6001.1 输出:1030.22

输入

一个数

输出

一个数,保留两位小数

输入样例

1455.6

输出样例

60.56

问题来源

26:出租车收费问题

时间限制:1000MS 内存限制:65536K 总提交数:340 正确数:226

问题描述

第 15 页 共 58 页

某市出租车起步里程为 3 公里,起步费 10 元;超起步里程后,10公里以内(含10公里),2元/公里;超10公里以上部分,加收 50% 的回空补贴,即 3元/公里。另,因路阻和乘客要求的临时停车,每 5 分钟按 1 公里租费计(2分钟则计为0.4公里)。

现请编写程序,输入出租车行使的公里数和等待时间(分钟),输出应付车费(元)。

要求:

(1)输入要求:公里数可为小数,等待时间为整数;两数用空格分隔; (2)输出要求:按元计算。(即没有小数部分,小数部分实现四舍五入)

例1:

输入: 2 4 输出: 10

例2:

输入: 3 0 输出: 10

例3:

输入: 3.5 4 输出: 13

例4:

输入: 6 8 输出: 19

例5:

输入: 10 0 输出: 24

例6:

输入: 11.2 8 输出: 32

输入

两个数。第1个数为公里数(可为小数),第2个数为等待时间(为整数)。

两个数用空格分隔。

输出

一个数,没有小数部分,小数部分实现四舍五入。

输入样例

3.5 4

输出样例 13

问题来源

27:学生综合测评问题

时间限制:1000MS 内存限制:65536K 总提交数:525 正确数:259

问题描述

某班综合考评,根据参加集体活动的次数加分,规则如下: 没有参加活动,不加分; 参加1次活动,加1分;

参加2次或3次活动,加2分;

参加4次到7次活动,参加几次加几分; 参加8次到10次活动,加8分; 参加10次以上,加10分;

编程要求输入参加活动的次数,输出加的分数。

输入

第 16 页 共 58 页

一个整数,表示参加活动的次数

输出

一个整数,表示加的分数

输入样例 3

输出样例 2

问题来源

28:个人所得税问题(2)

时间限制:1000MS 内存限制:65536K 总提交数:327 正确数:247

问题描述

输入一个职工的月薪salary,输出应当缴纳的个人所得税tax(输出时保留2位小数)。

个人所得税计算方式如下:

当:

salary ≤ 850 , rate=0 ;

850 < salary ≤ 1350, rate=5% ; 1350 < salary ≤ 2850, rate=10% ; 2850 < salary ≤ 5850, rate=15% ; 5850 < salary, rate=20% .

注意: 需要进行分段计税。

例如;某人的工资为6000元,则: 6000元中的850元部分不用缴税;

850-1350元部分按 5% 缴税,即需要缴纳(1350-850)x 5% = 25 ;

1350-2850元部分按 10% 缴税,即需要缴纳(2850-1350)x 10% = 150 ; 2850-5850元部分按 15% 缴税,即需要缴纳(5850-2850)x 15% = 450 ; 5850-6000元部分按 20% 缴税,即需要缴纳(6000-5850)x 20% = 30 ; 因此,总共需要缴纳的个人所得税为:25+150+450+30 = 655

例1:

输入:600 输出:0.00

例2:

输入:850 输出:0.00

例3:

输入:1200 输出:17.50

例4:

输入:1350 输出:25.00

例5:

输入:1455.6 输出:35.56

例6:

输入:2850 输出:175.00

例7:

输入:2987.5 输出:195.63

例8:

第 17 页 共 58 页

输入:5850 输出:625.00

例9:

输入:6000 输出:655.00

输入

一个数

输出

一个数,保留2位小数

输入样例

2987.5

输出样例

195.63

问题来源

29:他(她)的实足年龄是......

时间限制:1000MS 内存限制:65536K 总提交数:438 正确数:243

问题描述

编写程序:输入一个人的出生日期(年月日),以及当前的日期(年月日);输出他(她)的实足年龄。

要求:

(1)输入的数据分为两行,第1行为出生日期,顺序为年月日,用空格分隔;第2行为当前日期,顺序为年月日,用空格分隔; (2)输出实足年龄。

例1: 输入: 1992 12 31 2011 3 28 输出: 18

例2: 输入: 1992 3 31 2011 3 28 输出: 18

例3: 输入: 1992 3 28 2011 3 28 输出: 19

例4: 输入: 1992 3 27 2011 3 28 输出: 19

例5: 输入: 1992 1 30 2011 3 28 输出: 19

第 18 页 共 58 页

输入

总共6个整数,数据分为两行,第1行为出生日期,顺序为年月日,用空格输出:123

例2:

输入:120 分隔;第2行为当前日期,顺序为年月日,用空格分隔;

输出

一个整数,表示实足年龄。

输入样例

1982 12 31 2011 3 28

输出样例 18

问题来源

30:将一个小整数逆序输出

时间限制:1000MS 内存限制:65536K 总提交数:425 正确数:298

问题描述

输入一个不多于5位的正整数,按逆序打印出各位数字。

例1:

输入:321

输出:21

例3:

输入:1002 输出:2001

输入

一个正整数

输出

输出一个正整数

输入样例 321

输出样例 123

提示

1、注意个位是 零 的情况,如:120。 2、注意中间数字有 零 的情况,如:1002

问题来源

31:计算一个数字的各位数字之和

第 19 页 共 58 页

时间限制:1000MS 内存限制:65536K 总提交数:466 正确数:328

问题描述

从键盘输入一位整数,计算其各位数字之和。比如输入整数 31421 ,则打印结果为 11 (3+1+4+2+1)。

输入

一个整数

输出

一个整数

输入样例

31421

输出样例 11

提示

输入采用长整形数。

问题来源

32:求两个数之间有多少个数的各位上数字之和为7

时间限制:1000MS 内存限制:65536K 总提交数:412 正确数:209

问题描述

从键盘输入两个数字,求在这两个数字之间有多少个数其各位数字之和为7。输出求得的个数。

例如10-100之间有7个数字,其各位数字之和为7。(分别为:16,25,34,43,52,61,70)

输入输出举例:

例1:

输入:10 100 输出:7

例2:

输入:100 10 输出:7

例3:

输入:10 9999 输出:119

输入

两个整数(用空格分隔)

输出

一个整数

输入样例

10 100

输出样例

第 20 页 共 58 页

7

提示

1、输入的数字采用长整形;

2、注意输入的两个数字之间用空格分隔; 3、可以是大数在前,也可以是小数在前;

问题来源

YES

问题来源

34:输出 n - m 之间的所有素数

时间限制:1000MS 内存限制:65536K 总提交数:282 正确数:226

问题描述

从键盘输入二个整数 n 和 m (输入时用空格分隔) , 输出 n 到 m 之间的所有素数。输出的每一个数字单独占一行。

例如:

输入: 3 10 输出: 3 5 7

输入

两个整数(用空格分隔)

输出

若干个整数(每个数单独占一行)

输入样例

3 10

33:判断一个整数是否是素数

时间限制:1000MS 内存限制:65536K 总提交数:440 正确数:273

问题描述

从键盘输入一个大于等于 3 的正整数,判断它是否为素数。所谓素数是指:除了 1 和本身之外,不能被其它任何数整除。

如:输入“ 13 ”,则输出“ YES ”,若输入“ 12 ”,则输出“ NO ”。

输入

一个整数

输出

YES 或 NO

输入样例 13

输出样例

第 21 页 共 58 页

输出样例 3 5 7

问题来源

35:1到m之间有哪些数能被7或被11整除?

时间限制:1000MS 内存限制:65536K 总提交数:322 正确数:263

问题描述

从键盘输入一个整数 m ,输出 1 到 m 之间能被7或被11整除的数(每个数单独占一行)。

例如: 输入:20 输出: 7 11 14

输入

一个整数

输出

若干整数(每个单独占一行)

输入样例 20

输出样例 7 11 14

问题来源

36:编程计算 1+3+5+7+... 的值

时间限制:1000MS 内存限制:65536K 总提交数:472 正确数:321

问题描述

从键盘输入整数 n ,输出 1+3+5+7+… 的前 n 项的和。

例如: 输入:4 输出:16

输入

一个整数

输出

一个整数

第 22 页 共 58 页

输入样例 4

输出样例 16

问题来源

37:计算 1 ! +2 ! +3 !

时间限制:1000MS 内存限制:65536K 总提交数:466 正确数:307

问题描述

从键盘输入整数 n ,计算 1 ! +2 !输出的为一个长整形数)

举例:

例1: 输入:3 输出:9

例2: 输入:4 输出:33

输入

一个整数

输出

… 前 n 项的和

! +… 前 n 项的和。(注意:

一个整数(长整形)

输入样例 3

输出样例 9

提示

输出要定义为一个长整形数。

问题来源

38:输出100-999之间的所有水仙花数

时间限制:1000MS 内存限制:65536K 总提交数:347 正确数:244

问题描述

所谓水仙花数是指:这个数等于其个位数,十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3

编程输出100-999之间所有水仙花数。(输出的每个数单独占一行)

输入 无

第 23 页 共 58 页

+ +3

输出

若干个整数(每个数单独占一行)

问题来源

40:判断一个数是否是完数

时间限制:1000MS 内存限制:65536K 总提交数:233 正确数:199

问题描述

所谓完数,指它恰好等于除它本身之外的因子之和,如: 6=1+2+3 , 28=1+2+4+7+14

从键盘输入一个整数,若该整数是完数,则输出“YES”,否则输出“NO”。

举例:

例1: 输入:6 输出:YES

例2: 输入:9 输出:NO

输入

一个整数

输出

YES 或 NO

输入样例 6

39:求输出的数既是完全平方数又有两位相同的数

时间限制:1000MS 内存限制:65536K 总提交数:248 正确数:188

问题描述

编程输出 100-999 之间所有满足下列条件的整数:这些数既是完全平方数,又有两位数字相同,如: 144 、 676 等。

输入 无

输出

若干个数(每个数单独占一行)

输入样例

输出样例

问题来源

第 24 页 共 58 页

输出样例 YES

问题来源

41:求 1+22+333+ … 前 n 项的和

时间限制:1000MS 内存限制:65536K 总提交数:407 正确数:216

问题描述

编程求 1+22+333+4444+ … 前 n 项的和。

如:当 n=5 时,和为: 60355 。

输入

一个整数

输出

一个整数

输入样例 5

输出样例

60355

提示

输出采用长整形。

问题来源

42:求 sum=b+bb+bbb+bbbb+...

时间限制:1000MS 内存限制:65536K 总提交数:315 正确数:220

问题描述

输入一个1-9之间的数字 b 和 一个整数n , 求 sum=b+bb+bbb+bbbb的前n项和 。

如输入数字 7 和3 ,则输出下列表达式的和 sum=7+77+777

如输入数字 5 和4 ,则输出下列表达式的和 sum=5+55+555+5555

输入输出举例:

输入: 7 3 输出: 861

输入

两个1-9之间整数

输出

第 25 页 共 58 页

一个整数(长整形)

输入样例 7 3

输出样例 861

提示

输出要是长整形

问题来源

43:1-1/2+1/3-1/4+1/5-1/6+ … 的前n项的值

时间限制:1000MS 内存限制:65536K 总提交数:277 正确数:229

问题描述

编程:输入一个整数 n , 输出 1-1/2+1/3-1/4+1/5-1/6+ … 的前n项的值 。输出保留小数点后6位。

输入输出举例:

例1: 输入:2

输出:0.500000

例2: 输入:3

输出:0.833333

例3:

输入:100 输出:0.688172

输入

一个整数

输出

一个小数(保留小数点后6位)

输入样例 100

输出样例

0.688172

问题来源

44:1-1/(2*2)+1/(3*3)-1/(4*4)+1/(5*5)-1/(6*6)+ … 前n项值

时间限制:1000MS 内存限制:65536K 总提交数:226 正确数:208

问题描述

编程:输入一个整数 n , 输出

1-1/(2*2)+1/(3*3)-1/(4*4)+1/(5*5)-1/(6*6)+ … 的前n项的值 。输出保留小数点后6位。

第 26 页 共 58 页

输入输出举例:

例1: 输入:2

输出:0.750000

例2: 输入:3

输出:0.861111

例3:

输入:100 输出:0.822417

输入

一个整数

输出

一个小数(保留小数点后6位)

输入样例 100

输出样例

0.822417

问题来源

45:编程计算∏的近似值

时间限制:1000MS 内存限制:65536K

总提交数:285 正确数:169

问题描述

编程计算∏的近似值,公式如下:

∏ /4 ≈ 1-1/3+1/5-1/7+ …

从键盘输入一个小数,作为计算精度要求。如输入的数 detax =0.000001 , 则计算到数列的最后一项的绝对值小于 detax( 0.000001 ) 为止。(即参与计算的数列前n项,每一项的绝对值都大于等于detax)

输入输出举例: 例1:

输入:0.000001 输出:3.141591

例2:

输入:0.001 输出:3.139593

输入

一个小数

输出

一个小数(保留6位小数)

输入样例

0.000001

输出样例

3.141591

第 27 页 共 58 页

问题来源

46:编程计算 1+x/2+2*x*x/3+ 3*x*x*x/5+ 5*x*x*x*x/8+ ……

时间限制:1000MS 内存限制:65536K 总提交数:153 正确数:120

问题描述

编程计算 1+x/2+2*x*x/3+ 3*x*x*x/5+ 5*x*x*x*x/8+ …… . 计算要求:

(1)x 的值为键盘输入,且大于0小于 1;

(2)计算到最后一项小于 0.000001 为止。即数列的前n项都必须大于等于 0.000001 。

输入输出举例:

例1:

输入:0.5

输出:1.569286

例1:

输入:0.05 输出:1.026746

输入

一个小数(0-1之间)

输出

一个浮点数(保留6位小数)

输入样例

0.5

输出样例

1.569286

问题来源

47:打印图形

时间限制:1000MS 内存限制:65536K 总提交数:226 正确数:162

问题描述

编程打印如下图形: ******* ***** *** *

打印的行数从键盘输入。

例如:输入4,打印上述图形

输入

一个整数

输出

一个图形

输入样例

第 28 页 共 58 页

3

输出样例

***** *** *

问题来源

48:求解中国剩余定理的问题

时间限制:1000MS 内存限制:65536K 总提交数:205 正确数:167

问题描述

中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”。

编程:从键盘输入一个数 n , 求 1 - n 以内所有解,并输出。输出的数从小到大排列,每个数单独占一行。

输入输出举例:

例1: 输入: 100 输出: 52 157

例2: 输入: 300

输出: 52 157 262

输入

一个整数

输出

若干个整数(每一个单独占一行)

输入样例 100

输出样例 52 157

问题来源

49:哪些数加上 n 后是完全平方数且加上 m 后也是完全平方数

时间限制:1000MS 内存限制:65536K 总提交数:235 正确数:156

问题描述

编程求解:

从键盘输出两个整数 n 和 m 。

第 29 页 共 58 页

在100000以内有哪些数满足:该数加上 n 后是一个完全平方数;该数加上 问题来源 m 也是一个完全平方数。

编程输出100000以内的所有这些数。

输出的数从小到大排列,每一个数单独占一行。

输入输出举例:

例1: 输入: 100 268 输出: 21 261 1581

输入

两个整数(用空格分隔)

输出

若干个整数,每个数单独占一行

输入样例

100 268

输出样例 21 261 1581

50:求解不定方程的非负整数的根

时间限制:1000MS 内存限制:65536K 总提交数:164 正确数:154

问题描述

求以下不定方程组的所有非负整数解(提示:可以考虑让计算机在一定范围内穷举) x+y+z=31 x+2y+3z=58

要求:

(1)每一组根单独占一行,三个数用空格分隔。 (2)根的输出顺序为:x的根 y的根 z的根 (3)x的根按从小到大的顺序

例如:输出的部分根为: 4 27 0 5 25 1 6 23 2 7 21 3 8 19 4 9 17 5 10 15 6 11 13 7

输入 无

输出

若干行,每一行三个数(用空格分隔),分别x的根、y的根、z的根

第 30 页 共 58 页

52: 多少年后父亲的年龄是儿子的年龄的2倍

时间限制:1000MS 内存限制:65536K 总提交数:241 正确数:185

问题描述

今年父亲 n 岁,儿子 m 岁,问多少年后父亲的年龄是儿子年龄的2倍?

编程要求:

(1)输入两个数,表示父亲的年龄和儿子的年龄(用空格分隔) (2)输出一个数,表示过了这么多年后父亲的年龄是儿子年龄的2倍

例:

输入:30 6 输出:18

输入

输入两个数,表示父亲的年龄和儿子的年龄(用空格分隔)

输出

输出一个数

输入样例

30 6

输出样例 18

问题来源

51:百钱百鸡问题

时间限制:1000MS 内存限制:65536K 总提交数:182 正确数:174

问题描述

已知:大公鸡5元1只,母鸡3元1只,小鸡1元3只。现要用100元钱买100只鸡,问公鸡、母鸡和小鸡各能买多少只?

要求:

(1)将各种可能情况都输出;

(2)每一种可能情况单独一行,输出顺序为:公鸡数、母鸡数、小鸡数,三个数用空格分隔;

(3)公鸡数从小到大输出。

(4)要求公鸡、母鸡和小鸡都要有。

例如:部分可能的情况 4 18 78 8 11 81

输入 无

输出

若干行。每一行三个数,用空格分隔,分别代表公鸡数、母鸡数、小鸡数

第 31 页 共 58 页

53:特殊的四位数

时间限制:1000MS 内存限制:65536K 总提交数:178 正确数:171

问题描述

一个四位数,当它逆向排列时得到的4位数是它自身的整数倍(2倍及以上倍),请找出所有符合这一条件的四位数。

例如:1089 逆向排列时得到 9801, 9801是1089的9倍。 1089就是符合条件的数。

编程要求:输出所有可能的四位数,每个数单独占一行输出。

输入 无

输出

若干个数,每个数单独占一行。从小到大输出。

54:计算F(G(x))的值

时间限制:1000MS 内存限制:65536K 总提交数:204 正确数:155

问题描述

有函数F(x)=(x+1)^2和G(x)=2x+1,输入X值计算F(G(x))的值。

注:(x+1)^2 表示(x+1)的平方

要求:输出的值保留2位小数。

例1: 输入:3

输出:64.00

例2:

输入:5.4 输出:163.84

输入

一个数

输出

一个数,保留2位小数

输入样例 5.4

输出样例

163.84

提示

输入和输出的数采用double类型。

问题来源

55:哪些数是回文数?

第 32 页 共 58 页

时间限制:1000MS 内存限制:65536K 总提交数:150 正确数:111

问题描述

我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。在自然数中也有类似情形,比如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。

编程序输出指定的两个数之间的所有回文数。(要求从小到大输出,每个数单独占1行)

要求:

(1)输入两个自然数:n m (n要小于m) (2)输出n-m之间所有的回文数。

例1: 输入: 100 150 输出: 101 111 121 131 141

输入

两个自然数,用空格分隔。较小的数在前。

输出

若干个数,每个数单独占一行。

输入样例

900 1500

输出样例 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441

提示

回文数可能是2位数、3位数、4位数、5位数.....

问题来源

56:编写阶乘函数求表达式的值

时间限制:1000MS 内存限制:65536K 总提交数:158 正确数:144

问题描述

第 33 页 共 58 页

编程求以下表达式的值: m!

--------- n!*(n-m)!

编程要求:

(1)输入两个整数n和m,其中n大于m; 两个数用空格分隔; (2)输出的数采用double类型,保留6位小数。

例:

输入:5 3 输出:0.025000

输入

两个整数,用空格分隔;

输出

输出一个数,保留6位小数。

输入样例

5 3

输出样例

0.025000

问题来源

57:编程计算两个数的最大公约数

时间限制:1000MS 内存限制:65536K 总提交数:143 正确数:131

问题描述

编程计算两个数m、n的最大公约数。(其中m>n,且n≠0)。

例如:

若输入112 77

则输出最大公约数为7;

若输入48 24

则输出最大公约数24。

输入

两个整数,用空格分隔

输出

一个整数

输入样例

112 77

输出样例 7

提示

1、采用辗转相除法; 2、定义递归函数;

58:计算一个数的所有质因数

第 34 页 共 58 页

时间限制:1000MS 内存限制:65536K 总提交数:189 正确数:121

问题描述

读入一个整数k(2≤k≤10000),打印它的所有质因子。

例如:

若输入整数 2310 则应输出: 2 3 5 7 11

输入

一个整数

输出

若干个整数,每个数单独占一行

输入样例

2310

输出样例 2 3 5 7 11

问题来源

59:求递归函数的值

时间限制:1000MS 内存限制:65536K 总提交数:119 正确数:114

问题描述

按如下递归公式求函数值。

x=1时 f(x)=10;x>1时 f(x)=f(x-1)+2

输入

整型变量x

输出

f(x)

输入样例 10

输出样例 28

第 35 页 共 58 页

60:将一维数组中的数据按逆序重新存放

时间限制:1000MS 内存限制:65536K 总提交数:166 正确数:134

问题描述

从键盘输入一组整数(不超过20个),存放到一个一维数组中,然后将该数组中的数据按逆序重新存放(注意不是排序),最后输出该数组中的所有元素的值。

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出数据只有一行:一组数据(用空格分隔)。

输入输出举例:

输入: 5

8 9 5 4 1

输出: 1 4 5 9 8

输入

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出

输出数据只有一行:一组数据(用空格分隔)。

输入样例 5

8 9 5 4 1

输出样例

1 4 5 9 8

61:统计一组数据中正数、负数和零的个数

时间限制:1000MS 内存限制:65536K 总提交数:152 正确数:127

问题描述

从键盘输入一组整数(不超过20个),然后统计该组数中的正数、负数和零的个数并输出。

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出数据只有一行:三个整数(分别是正数个数 负数个数 零的个数,用空格分隔)。

输入输出举例:

输入: 6

8 -6 5 0 1 -2

输出: 3 2 1

输入

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

第 36 页 共 58 页

输出

输出数据只有一行:三个整数(用空格分隔)。

输入样例 6

8 -6 5 0 1 -2

输出样例

3 2 1

62:计算一组数据的平均值

时间限制:1000MS 内存限制:65536K 总提交数:144 正确数:132

问题描述

从键盘输入一组数(不超过20个),然后计算该组数的平均值并输出。 输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出数据只有一行:一个数(保留小数点后6位)。

输入输出举例:

输入: 6

1.1 2.2 3.3 4.4 5.5 6.6

输出: 3.850000

输入

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出

输出数据只有一行:一个数(保留小数点后6位)

输入样例 6

1.1 2.2 3.3 4.4 5.5 6.6

输出样例

3.850000

提示

数据类型要考虑小数

63:统计一个串中字母、数字和其它字符的个数

时间限制:1000MS 内存限制:65536K 总提交数:158 正确数:104

问题描述

从键盘中输入任意一个字符串,然后统计该字符串中字母,数字,以及其它字

第 37 页 共 58 页

符各有多少个,并输出。

输入:一个字符串

输出:三个整数(分别是字母个数、数字个数、其它字符个数, 用空格分隔)

输入输出举例:

输入: I have 11 apples! 输出: 11 2 4

输入

一个字符串

输出

三个整数(分别是字母个数、数字个数、其它字符个数, 用空格分隔)

输入样例

I have 11 apples!

输出样例

11 2 4

64:判断一组数据是否是从小到大的序列

时间限制:1000MS 内存限制:65536K 总提交数:131 正确数:100

问题描述

从键盘输入一组整数(不超过20个),然后判断该组数是否是一个从小到大的序列。若是输出 YES ,否则输出 NO。

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出数据只有一行:YES 或 NO。

输入输出举例:

例1:

输入: 5

1 2 3 4 5

输出: YES

例2:

输入: 5

1 2 9 4 5

输出: NO

输入

输入数据包括两行:第一行为需要输入的数据个数,第二行为一组数据(用空格分隔)

输出

输出数据只有一行:YES 或 NO。

输入样例

第 38 页 共 58 页

5

1 2 3 4 5

输出样例 YES

YES

66:数组中有这个数吗?

时间限制:1000MS 内存限制:65536K 总提交数:123 正确数:94

问题描述

从键盘中输入一个数,查找其是否在二维数组a[3][4]中,若在,打印出行号和列号,若不在输出-1。

数组a[3][4]={ {1,2,3},{4,5,6},{7,8,9}}

输入:一个整数

输出:两个整数(用空格分隔) 或 -1

输入输出举例:

例1: 输入: 3 输出: 0 2

例2:

输入: 10 输出: -1

输入

一个整数

输出

两个整数(用空格分隔) 或 -1

输入样例

65:断一个字符串是否是回文

时间限制:1000MS 内存限制:65536K 总提交数:132 正确数:103

问题描述

从键盘输入一个字符串(长度不超过50个),然后判断一个字符串是不是回文,如果是打印 “YES”, 否则打印 “NO” 。

回文即字符串左右两边对称,如 “abccba”,“windowswodniw” 都为回文。

输入

一个字符串

输出

YES 或 NO

输入样例

abccba

输出样例

第 39 页 共 58 页

3

输出样例 0 2

67:求出二维数组中最大元素的值及其位置

时间限制:1000MS 内存限制:65536K 总提交数:123 正确数:97

问题描述

有一个 3 × 4 的矩阵(即定义一个 3 行 4 列的数组),从键盘输入其值。然后输出其中最大的那个元素的值,以及其所在的行号和列号。

输入: 共3行,每一行4个整数(用一个空格分隔)

输出: 三个整数,用一个空格分隔(最大元素的值 行号 列号) 输入输出举例:

输入: 1 2 3 4 10 11 12 5 9 8 7 6

输出: 12 1 2

输入

共3行,每一行4个整数(空格分隔)

输出

三个整数,用空格分隔(最大元素的值 行号 列号)

输入样例

1 2 3 4 10 11 12 5 9 8 7 6

输出样例

12 1 2

68:交换二维数组中最大元素和最小元素

时间限制:1000MS 内存限制:65536K 总提交数:109 正确数:87

问题描述

有一个 3 × 4 的矩阵(即定义一个 3 行 4 列的数组),从键盘输入其值。然后交换该矩阵(数组)中最大元素和最小元素,最后输出该数组。

输入: 共3行,每一行4个整数(用一个空格分隔) 输出: 共3行,每一行4个整数(用一个空格分隔)

输入输出举例:

输入:

第 40 页 共 58 页

1 2 3 4 10 11 12 5 9 8 7 6

输入: 12 2 3 4 10 11 1 5 9 8 7 6

输入

共3行,每一行4个整数(用一个空格分隔)

输出

共3行,每一行4个整数(用一个空格分隔)

输入样例

1 2 3 4 10 11 12 5 9 8 7 6

输出样例

12 2 3 4 10 11 1 5 9 8 7 6

69:统计字符串中单词数量

时间限制:1000MS 内存限制:65536K 总提交数:142 正确数:85

问题描述

从键盘输入一行字符,统计字符串中单词数量并输出。 单词:1个以上连续的字母认为是一个单词。

如:

输入“ I am a teacher. ”时,输出: 4

输入“ I am a tea67876cher ”时,输出: 5

输入

一个字符串

输出

一个整数

输入样例

I am a teacher

输出样例 4

70:将一个字符串中所有字母转成大写

时间限制:1000MS 内存限制:65536K 总提交数:106 正确数:92

问题描述

从键盘输入一个字符串,将该串中所有字母转成大写并输出该串。第 41 页 共 58 页

例如:

输入: I am a student! 输出: I AM A STUDENT!

输入

一个字符串

输出

一个字符串

输入样例

I am a student!

输出样例

I AM A STUDENT!

问题来源

一个字符串

输出

一个字符串

输入样例

***A*BC*DEF*G***

输出样例

A*BC*DEF*G***

72:删除字符串的*号后缀

时间限制:1000MS 内存限制:65536K 总提交数:113 正确数:86

问题描述

假定输入的字符串中只包含字母和 * 号,请编程序,它的功能是:删除字符串后面的 * 号。如:输入“ ***A*BC*DEF*G*** ”时,则输出“ ***A*BC*DEF*G ”。

输入

一个字符串

输出

一个字符串

输入样例

71:删除字符串中的前导*号

时间限制:1000MS 内存限制:65536K 总提交数:109 正确数:90

问题描述

假定输入的字符串中只包含字母和 * 号,请编程序,它的功能是:删除字符串中的前导 * 号。如:输入“ ***A*BC*DEF*G*** ”时,则输出“ A*BC*DEF*G*** ”。

输入

第 42 页 共 58 页

***A*BC*DEF*G*** ABCDEFG

输出样例 问题来源

***A*BC*DEF*G

问题来源 74:求矩阵的两对角线上的元素之和

时间限制:1000MS 内存限制:65536K

总提交数:85 正确数:66 73:删除字符串中所有的*号

问题描述

时间限制:1000MS 内存限制:65536K 求矩阵的两对角线上的元素之和。矩阵大小不超过10X10,也可能是1 X 1 总提交数:106 正确数:92 有一个元素)

例如:

问题描述 输入:(第1行表示矩阵为 3 X 3, 后三行为矩阵元素的值)

3

假定输入的字符串中只包含字母和 * 号,请编程序,它的功能是:删除字1 2 3 符串中所有的 * 号。如:输入“ ***A*BC*DEF*G*** ”时,则输出“ ABCDEFG ”。 4 5 6

7 8 9 输入

一个字符串 输入

输出 矩阵的行数N

和一个N*N的整数矩阵a[N][N](N<=10) 一个字符串

输出 输入样例

所输矩阵的两对角线上的元素之和

***A*BC*DEF*G***

输出样例 输入样例

第 43 页 共 58 页

(只

3

1 2 3 4 5 6 7 8 9

输出样例 25

问题来源

75:结构体:按成绩排序

时间限制:1000MS 内存限制:65536K 总提交数:56 正确数:43

问题描述

定义一个学生结构体,含学号(字符型)、姓名、成绩(整型)。从键盘输入n(n<20),再输入n个学生的信息,按学生成绩从小到大顺序输出学生信息。

输入

输入一个n,接着输入n个学生的信息。

输出

按成绩从小到大顺序输出学生信息。每个学生信息占一行,依次是学号、姓名、成绩,用空格分隔

输入样例 4 1001 Li 76 1002 Zhang 92 1003 Liu 85 1004 Wang 70

输出样例

1004 Wang 70 1001 Li 76 1003 Liu 85 1002 Zhang 92

问题来源

76:结构体:求最高分和最低分

时间限制:1000MS 内存限制:65536K 总提交数:48 正确数:40

问题描述

第 44 页 共 58 页

定义一个学生结构体,含学号(字符型)、姓名、成绩(整型)。从键盘输入数字n(n<20),并输入n个学生的信息,输出最高分和最低分同学的信息。 77:构体:计算学生平均分

输入

输入一个n,接着输入n个学生的信息。

输出

输出最高分和最低分同学的学号、姓名、成绩。

输入样例 4 1001 Li 76 1002 Zhang 92 1003 Liu 85 1004 Wang 70

输出样例

1002 Zhang 92 1004 Wang 70

问题来源

时间限制:1000MS 内存限制:65536K 总提交数:53 正确数:39

问题描述

定义一个学生结构体,含学号(字符型)、姓名、2门课程的成绩。从键盘输入3个学生的信息,计算并输出每个学生的平均成绩。

输入

输入n,再依次按学号、姓名、成绩1、成绩2的顺序输入n个学生信息

输出

按输入的顺序输出每个学生的学号、姓名、平均分(保留1位小数)

每个学生数据单独占一行,每一行的数据间用空格分隔

输入样例 3 101 Xue 87 90 102 Lin 98 92 103 Liu 89

第 45 页 共 58 页

83

输出样例

101 Xue 88.5 102 Lin 95.0 103 Liu 86.0

问题来源

78:结构体:在线编程评测系统的排名

时间限制:1000MS 内存限制:65536K 总提交数:60 正确数:34

问题描述

你知道本系统的用户排名是如何实现的吗?现在我告诉你部分规则,请你尝试模拟实现本系统的排名吧。

排名规则:

(1)完成题数多的排名靠前;

(2)完成题数相同的,提交次数少的排名考前;

(3)完成题数和提交次数相同的,按学号出现的先后次序排名;

输入

第一行输入一个整数N,表示有N个学生进行了答题; 后面N行分别输入N个学生的答题结果情况。每一行,内容分别为学号(uid),完成的题数(ac),总提交次数(submit)。

输出

按序输出N行,每一行的内容为:

序号、学号、完成题数、总提交次数。用空格分隔

输入样例 8

2011103453 93 113 2011102043 99 227 2011103322 96 107 2011103441 97 119 2011103369 90 108 2011103412 43 67 2011103433 96 122 2011101873 43 67

输出样例

1 2011102043 99 227 2 2011103441 97 119 3 2011103322 96 107 4 2011103433 96 122 5 2011103453 93 113 6 2011103369 90 108 7 2011103412 43 67 8 2011101873 43 67

问题来源

79:[初级竞赛题] 亲和数

第 46 页 共 58 页

时间限制:1000MS 内存限制:65536K 总提交数:109 正确数:89

问题描述

如果a的因子和等于b,b的因子和等于a,且a≠b,则称a,b为亲密数对。

80:[初级竞赛题] 陶陶摘苹果

时间限制:1000MS 内存限制:65536K 总提交数:86 正确数:70 比如220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。 284的所有真约数和为: 1+2+4+71+142=220。

你的任务就编写一个程序,判断给定的两个数是否是亲和数

输入

输入数据两个整数A,B; 其中 0≤A,B≤99999。

输出

如果A和B是亲和数的话输出YES,否则输出NO。

输入样例

220 284

输出样例 YES

问题来源

问题描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入

输入包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

输入样例

100 200 150 140 129 134 167 198 200 111 110

第 47 页 共 58 页

输出样例 5

问题来源

81:[初级竞赛题] Lucky Number

时间限制:1000MS 内存限制:65536K 总提交数:66 正确数:36

问题描述

现在比较盛行这样的一个抽奖游戏:每个人在1到1000中选一个数字写下来,然后拿出来比较,谁的数字既没有和其它人重复的,并且是不重复里的最小的一个的话,那他这个就是Lucky Number。

谁手上得到这个Lucky Number,谁就会得到丰厚的奖品哦!

输入

共两行。第一行是n,下一行接着是n个人分别写下的数字,其中1 < = n < = 100。

输出

若哪个人手上的数是Lucky Number,则输出他的位置,同时把这个数也输

出。

如果没有Lucky Number,就输出:\(注意,你的程序中文字不带双引号,文字内容必须一模一样!!)

输入样例 5

1 3 1 7 5

输出样例 2 3

提示

对于输入: 5

1 3 1 7 5

Lucky Number是3,在第二个位置(也就是第二个人手上), 所以输出: 2 3

问题来源

82:[初级竞赛题] 阅读顺序

时间限制:1000MS 内存限制:65536K 总提交数:67 正确数:41

第 48 页 共 58 页

问题描述

大多数语言是从左向右读的。但是,在一些语言中,阅读顺序是从右向左读的。这给语言交流增加了不少的麻烦。现在,请你编写一个程序,能够将一从左到右书写的文字自动转成从右向左的顺序。

输入

输入的第一行是一个数字n(n<100),接下来的有n行的文字,由字母、空格、数字以及各种标点组成,每行文字长度不超过200个字符。

输出

将输入的文字转成从右向左的顺序,一行输入对应一行输出。

输入样例 3

a man a plan a canal panama

Frankly, I don't think we'll make much OK?

输出样例

amanap lanac a nalp a nam a

hcum ekam ll'ew kniht t'nod I ,ylknarF ?KO

问题来源

83:初级竞赛题] Redraiment猜想

时间限制:1000MS 内存限制:65536K 总提交数:63 正确数:61

问题描述

redraiment在家极度无聊,于是找了张纸开始统计素数的个数。 redraiment发现:

f(1) = 0 f(10) = 4 f(100) = 25

输入

输入一个整数n (1≤n≤10000)。

输出

输出1->n(包括n)之间的素数的个数

输入样例

第 49 页 共 58 页

100

输出样例 25

问题来源

84:[初级竞赛题] Magic Number

时间限制:1000MS 内存限制:65536K 总提交数:30 正确数:20

问题描述

如果一个数(可能包含前导0)乘以2,如142857*2=285714,

依然由原来的数字组成的话,这样的数(142857)就叫Magic Number

输入

一个不大于1e10000整数

输出

判断这个数是不是Magic Number,是的话输出“Magic Number” 否则输出“Not Magic Number”

输入样例

142857

或者 857142

输出样例

Magic Number 或者

Not Magic Number

问题来源

85:[中级竞赛题] 不高兴的津津

时间限制:1000MS 内存限制:65536K 总提交数:58 正确数:46

问题描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入

输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的

第 50 页 共 58 页