7-15 输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!
7-16 统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:
7
77 54 92 73 60 65 69
输出样例:
1 0 2 3 1
7-17 求e的近似值
自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
输入格式:
输入第一行中给出非负整数 n(≤1000)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
10
输出样例:
2.71828180
7-18 打印菱形图案
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7
输出样例:
* * * * * * * * *
* * * * * * * * * * * * * * * *
7-19 猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数N(1<N≤10)。
输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
3
输出样例:
10
7-20 求1到100的和
本题要求编写程序,计算表达式 1 + 2 + 3 + ... + 100 的值。
输入格式:
本题无输入。
输出格式:
按照以下格式输出:
sum = 累加和
7-21 近似求PI
本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。
2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("%le", &eps);
输出格式:
在一行内,按照以下格式输出π的近似值(保留小数点后5位):
PI = 近似值
输入样例:
1E-5
输出样例:
PI = 3.14158
7-22 求整数段和
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X
的格式输出全部数字的和X
。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 12 3 4 5 67 8
Sum = 30
7-23 大笨钟
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。
输入格式:
输入第一行按照hh:mm
的格式给出当前时间。其中hh
是小时,在00到23之间;mm
是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang
。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中hh:mm
是输入的时间。
输入样例1:
19:05
输出样例1:
DangDangDangDangDangDangDangDang
输入样例2:
07:05
输出样例2:
Only 07:05. Too early to Dang.
7-24 谁先倒
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。
输入格式:
输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N
(≤100),随后N
行,每行给出一轮划拳的记录,格式为:
甲喊 甲划 乙喊 乙划
其中喊
是喊出的数字,划
是划出的数字,均为不超过100的正整数(两只手一起划)。
输出格式:
在第一行中输出先倒下的那个人:A
代表甲,B
代表乙。第二行中输出没倒的那个人喝了多少杯。题目保证有一个人倒下。注意程序处理到有人倒下就终止,后面的数据不必处理。
输入样例:
1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16
输出样例:
A
1
7-25 奇偶分家
给定N
个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N
(≤1000);第2行给出N
个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
7-26 到底是不是太胖了
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
输入格式:
输入第一行给出一个正整数N
(≤ 20)。随后N
行,每行给出两个整数,分别是一个人的身高H
(120 < H < 200;单位:厘米)和真实体重W
(50 < W ≤ 300;单位:市斤),其间以空格分隔。
输出格式:
为每个人输出一行结论:如果是完美身材,输出You are wan mei!
;如果太胖了,输出You are tai pang le!
;否则输出You are tai shou le!
。
输入样例:
3
169 136
150 81
178 155
输出样例:
You are wan mei!
You are tai shou le!
You are tai pang le!
7-27 最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96
7-28 题目重复
7-29 电子汪
据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。
本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。
输入格式:
输入在一行中给出两个 [1, 9] 区间内的正整数 A 和 B,用空格分隔。
输出格式:
在一行中输出 A + B 个Wang!
。
输入样例:
2 1
输出样例:
Wang!Wang!Wang!
7-30 求集合数据的均方差
设计函数求 N 个给定整数的均方差。若将 N 个数 A[ ] 的平均值记为 Avg,则均方差计算公式为:[(A1−Avg)2+(A2−Avg)2+⋯+(AN−Avg)2]/N。
输入格式:
输入首先在第一行给出一个正整数 N(≤104),随后一行给出 N 个正整数。所有数字都不超过 1000,同行数字以空格分隔。
输出格式:
输出这N个数的均方差,要求固定精度输出小数点后5位。
输入样例 1:
10
6 3 7 1 4 8 2 9 11 5
输出样例 1:
3.03974
输入样例 2:
1
2
输出样例 2:
0.00000
7-31 求1到N的和
本题要求编写程序,计算序列 1 + 2 + 3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,请注意等号的左右各有一个空格。题目保证计算结果不超过长整型整数的范围。
输入样例:
100
输出样例:
sum = 5050
7-32 Cassels方程
Cassels方程是一个在数论界产生了巨大影响的不定方程:x2+y2+z2=3xyz。该方程有无穷多自然数解。
本题并不是要你求解这个方程,只是判断给定的一组 (x,y,z) 是不是这个方程的解。
输入格式:
输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出 3 个正整数 0<x≤y≤z≤1000。
输出格式:
对于每一组输入,如果是一组解,就在一行中输出 Yes
,否则输出 No
。
输入样例:
2
1 1 1
5 6 7
输出样例:
Yes
No
7-33 吃鱼还是吃肉
国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。
现在你要根据小宝宝的身高体重,给出补充营养的建议。
输入格式:
输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出一位宝宝的身体数据:
性别 身高 体重
其中性别
是 1 表示男生,0 表示女生。身高
和体重
都是不超过 200 的正整数。
输出格式:
对于每一位宝宝,在一行中给出你的建议:
- 如果太矮了,输出:
duo chi yu!
(多吃鱼); - 如果太瘦了,输出:
duo chi rou!
(多吃肉); - 如果正标准,输出:
wan mei!
(完美); - 如果太高了,输出:
ni li hai!
(你厉害); - 如果太胖了,输出:
shao chi rou!
(少吃肉)。
先评价身高,再评价体重。两句话之间要有 1 个空格。
输入样例:
4
0 130 23
1 129 27
1 130 30
0 128 27
输出样例:
ni li hai! duo chi rou!
duo chi yu! wan mei!
wan mei! shao chi rou!
duo chi yu! shao chi rou!
7-34 降价提醒机器人
小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。
输入格式:
输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。
接下来 N 行,每行有一个实数 Pi(−1000.0<Pi<1000.0),表示一条价格记录。
输出格式:
对每一条比设定价格 M 便宜的价格记录 P
,在一行中输出 On Sale! P
,其中 P
输出到小数点后 1 位。
输入样例:
4 99
98.0
97.0
100.2
98.9
输出样例:
On Sale! 98.0
On Sale! 97.0
On Sale! 98.9
7-35 找出三位水仙花数
本题要求编写程序,输出给定正整数M和N区间内的所有三位水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出两个正整数M和N(100≤M≤N≤999)。
输出格式:
顺序输出M和N区间内所有三位水仙花数,每一行输出一个数。若该区间内没有三位水仙花数,则无输出。
如果M或者N不符合题目的要求,则输出Invalid Value.
。
输入样例1:
100 400
输出样例1:
153
370
371
输入样例2:
500 600
输出样例2:
输入样例3:
990 101
输出样例3:
Invalid Value.
7-36 调和平均
N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。
输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (≤1000);第 2 行给出 N 个正数,都在区间 [0.1,100] 内。
输出格式:
在一行中输出给定数列的调和平均值,输出小数点后2位。
输入样例:
8
10 15 12.7 0.3 4 13 1 15.6
输出样例:
1.61
7-37 统计字符[2]
本题要求编写程序,输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
10
aZ &
09 Az
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
7-38 拯救外星人
你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“5+7”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。
本题就请你写程序模仿外星人的行为。
输入格式:
输入在一行中给出两个正整数 A 和 B。
输出格式:
在一行中输出 (A+B) 的阶乘。题目保证 (A+B) 的值小于 12。
输入样例:
3 6
输出样例:
362880