程序设计17道

1. 题目描述

对任意输入的两个整数,计算其最大公约数,并输出。

输入

输入的第1行为一个整数n ,表示n 组测试数据,下面为n 行测试数据。每一行有2个整数,分别用一个空格分开,例如:

2

3 5

10 20

输出

输出为n 行结果,每一行1个整数,表示最大公约数。输出结束后,光标去往下一行的行头。例如:

1

10

样例输入

2

3 5

10 20

样例输出

1

10

2. 题目描述

输入某年某月某日,判断这一天是这一年的第几天。

输入

输入的第1行为一个整数n ,表示n 组测试数据,下面为n 行测试数据。每一行有3个整数,分别用一个空格分开,表示年,月,日,例如: 3

1911 1 1

2010 2 2

2015 3 5

输出

输出为n 行结果,每一行1个整数,表示日期对应的天数。输出结束后,光标去往下一行的行头。例如:

1

33

64

样例输入

3

1911 1 1

2010 2 2

2015 3 5

样例输出

1

33

64

3. 题目描述

编写程序:任意输入二次方程的三个系数a ,b ,c ,计算并输出方程的解。二次方程为:

ax 2+bx+c=0

如方程无解,或有任意解,输出整数0;如b*b-4*a*c

注意:本题所有的数据均采用double 类型。

输入

输入的第一行为测试数据组数n ,以下为n 行测试数据,每行3个数,代表方程的三个系数a,b,c 。分别用空格分开,例如:

6

0 0 0

0 0 1

1 1 1

0 1 2

1 2 1

1 4 1

输出

输出为n 行测试结果,如结果有两个数,中间用空格分开。注意小数点后面保留2位,最后一行输出结束后,光标去往下一行的行头,例如:

-2.00

-1.00

-0.27 -3.73

样例输入

6

0 0 0

0 0 1

1 1 1

0 1 2

1 2 1

1 4 1

样例输出

-2.00

-1.00

-0.27 -3.73

4. 题目描述

要求用户输入一个整数k (26>=k>=1),然后输出像下面这样的金字塔图案: A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

输入

输入的第一行为一个整数n ,表示测试数据的组数,后面有n 行测试数据,例如: 2

3

5

输出

输出为n 个字母三角形,输出结束后,光标去往下一行的行头,例如: A

ABA

ABCBA

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

样例输入

2

3

5

样例输出

A

ABA

ABCBA

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

5. 题目描述

古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念!

罗马数字的表示主要依赖以下几个基本符号:

I 1

V 5

X 10

L 50

C 100

D 500

M 1000

这里,我们只介绍一下1000以内的数字的表示法。

单个符号重复多少次,就表示多少倍。最多重复3次。比如:CCC 表示300 XX表示20,但这个规则仅适用于I X C M,150并不用LLL 表示。

如果相邻级别的大单位在左,小单位在右,表示大单位加上小单位,如XI 表示11;如果相邻级别的大单位在右,小单位在左,表示大单位中扣除小单位。比如:IX 表示9,IV 表示4 ,XL 表示40,更多的示例参见下表,你找到规律了吗?

I,1

II ,2

III ,3

IV ,4

V ,5

VI ,6

VII ,7

VIII,8

IX ,9

X ,10

XII ,12

XIII,13

XIV,14

XV,15

XVI,16

XVII,17

XVIII,18

XIX,19

XX,20

XXI,21

XXII,22

XXIX,29

XXX,30

XXXIV,34

XXXV,35

XXXIX,39

XL,40

L,50

LI,51

LV,55

LX,60

LXV,65

LXXX,80

XC,90

XCIII,93

XCV,95

XCVIII,98

XCIX,99

C,100

CC,200

CCC,300

D,500

DC,600

DCC,700

DCCC,800

CM,900

CMXCIX,999

输入

第一行是整数n, 表示接下来有n 个罗马数字(n

输出

要求程序输出n 行,就是罗马数字对应的十进制数据。

样例输入

3

LXXX

XCIII

DCCII

样例输出

80

93

702

6. 题目描述

我们可以很容易地将五个字符的字符串转换成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,要将“China”译成密码,字母’A’后面第4个字母是‘E’,用‘E’代替‘A’。因此,“China”应译为“Glmre”。编程,分别向变量c1,c2,c3,c4,c5 中输入5个字符,然后输出其对应的密码。 输入

输入是5个连续的字符,例如:

China

输出

输出是输入字符对应的密码。注意输出结束后,光标去到下一行的行头。例如: Glmre

样例输入

China

样例输出

Glmre

7. 题目描述

二值图像是由黑白两种像素组成的矩形点阵,图像识别的一个操作是求出图像中最大黑区域的面积。请设计一个程序完成二值图像的这个操作。黑区域由黑像素组成,一个黑区域中的每个像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上、下、左、右的像素相邻。两个不同的黑区域没有相邻的像素。一个黑区域的面积是其所包含的像素的个数。

输入

输入由多个测试例组成。每个测试例的第一行含两个整数n 和m, (1

数0或1,其中第i 行表示图像的第i 行的m 个像素,0表示白像素,1表示黑像素。同一行的相邻两个整数之间用一个空格隔开,两个测试例之间用一个空行隔开,最后一个测试例之后隔一个空行,再接的一行含有两个整数0,标志输入的结束。 输出

每个测试例对应一行输出,含一个整数,表示相应的图像中最大黑区域的面积。 样例输入

5 6

0 1 1 0 0 1

1 1 0 1 0 1

0 1 0 0 1 0

0 0 0 1 1 1

1 0 1 1 1 0

4 6

0 1 1 0 0 1

1 1 1 1 0 1

0 1 0 1 1 0

0 0 0 1 1 1

0 0

样例输出

7

12

8. 题目描述

编写程序:输入三个数字字符,输出由它们组成的一个整数。例如:输入数字字符 ‘2’、‘5’、‘7’,输出整数257。

输入

输入是三个数字字符,它们之间分别用一个空格分开。为便于计算,本题输入的第一字符不为‘0’。例如:

2 5 7

输出

输出是由输入的3个字符所构成的一个三位整数。注意输出结束后,光标跳到下一行行头。

样例输入

2 5 7

样例输出

257

9. 题目描述

编写一个程序,程序输入天数,然后将该值转换为周数和天数,例如,程序将把18天转换成2周4天,如下所示:

18

18 days are 2 weeks and 4 days.

输入

输入是一个正整数(

18

输出

输出是一行提示,提示输入天数对应的 周、天数。注意输出结束后,光标去到下一行行头。例如:

18 days are 2 weeks and 4 days.

样例输入

123

样例输出

123 days are 17 weeks and 4 days.

10. 题目描述

对任意英文句子(长度

输入

输入为一个英文句子。(注意,单词之间用一个空格分开),例如。 My name is angel

输出

输出为运行结果,为1个字符串,是句子中,从左向右,最长的第一个单词。输出结束后,光标去往下一行的行头。例如:

angel

样例输入

My name is angel

样例输出

angel

11. 题目描述

对任意一个字符串(串长

2 2 2 2 2,这5个整数,从左向右,分别代表原因字母'a','e','i','o','u' 出现的次数。

输入

输入的第1行为一个整数n ,表示n 个字符串。下面为n 行数据,每行是一个字符串(注意,字符串中不包含空格),例如。

2

aeiouaeiou

aeiaeibdceaeo

输出

输出为运行结果,每行为5个整数,从左向右,分别代表原因字母

'a','e','i','o','u' 出现的次数, 未出现字母,次数为0,中间用1个空格分开。 输出结束后,光标去往下一行的行头(注意:每一行的末尾有一个空格) 。例如: 2 2 2 2 2

3 4 2 1 0

样例输入

2

aeiouaeiou

aeiaeibdceaeo

样例输出

2 2 2 2 2

3 4 2 1 0

12. 题目描述

歌唱比赛,有10个评委。选手的成绩为:去掉一个最高分,去掉一个最低分,剩下的成绩取平均值,为其最后得分。编写程序,计算选手的歌唱比赛成绩。 输入

输入的第1行为一个整数n ,表示n 组分值。下面为n 行数据,每行是一个选手的10个得分,中间用空格分开(注意,分值均为整数),例如。 2

80 70 60 80 70 90 80 70 90 90

85 75 80 90 75 89 95 89 77 90

输出

输出为运行结果,每行为一个选手的得分(得分为小数,小数点后面保留1位数字)。输出结束后,光标去往下一行的行头。例如:

78.8

84.4

样例输入

2

80 70 60 80 70 90 80 70 90 90

85 75 80 90 75 89 95 89 77 90

样例输出

78.8

84.4

13. 题目描述

有10个整数已按从小到大的顺序排好序,存储在一个数组中,再输入一个数,要求用折半查找法找出该数是数组中的第几个元素(输出该元素的下标即可)。如果该数不在数组中,则输出"Not exist!"

输入

输入数据共2行

第一行10个整数,按从小到大的顺序输入,中间以空格分隔。 第二行1个整数

输出

折半查找所得该数所在数组中的元素下标,单独占一行。

若该数不存在,则输出一行信息 "Not exist!"

样例输入

1 2 3 4 5 6 7 8 9 10

3

样例输出

2

14. 题目描述

用牛顿迭代法求下面方程在输入初值点附近的根:

2x 3-4x 2+3x-6=0

要求前后两次求出的x 的差的绝对值小于10-6

牛顿迭代法公式如下:

将给定给定方程写成f(x)=0的形式,在给定初值x 0的情况下,按如下公式迭代

计算:

x n+1=xn -f(x)/f' (x)

提示:C 语言数学库中有求指数a n 的函数pow(a, n)以及求x 绝对值的函数fabs(x)

浮点型数据请定义为双精度double 类型。

输入

双精度浮点型初值x 0

输出

x0附件方程的根,小数点后保留6位小数,末尾换行。

样例输入

3

样例输出

2.000000

15. 题目描述

输入一行字符,统计其中有多少个单词,单词之间以空格分隔。

输入

一行英文字符(含空格)。

输出

单词的个数,单独占一行。

样例输入

I am a boy

样例输出

4

16. 题目描述

计算存款利息。有1000元,想存5年,如果一次存5年定期,计算到期后的本息和(结果精确到分)。

1年期本息和计算方法:p=1000*(1+r)

n 年期本息和计算方法:p=1000*(1+n*r)

存n 次1年期的本息和计算方法:p=1000*(1+r)n

活期存款本息和:p=1000*(1+r/4)4n

其中1000*(1+r/4)是一个季度的本息和。

2014年10月,银行存款利息如下:

1年期定期存款利息为3.00%

2年期定期存款利息为3.75%

3年期定期存款利息为4.25%

5年期定期存款利息为4.75%

活期存款利率为0.36%(活期存款每一季度结算一次利息)。 输入

输出

p=存款5年后的本息和,注意末尾的换行

样例输入

样例输出

p=1237.50

17. 题目描述

假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比(倍数)。计算公式为p=(1+r)n

其中:r 为年增长率,n 为年数,p 为与现在相比的倍数

对于求a n , C语言的数学库函数中有求指数的函数pow(a, n)

输入

无,增长率与年数以赋值的方式给出

输出

p=增长倍数,注意末尾的换行

样例输入

样例输出

p=2.367364


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn