1.5编程基础之循环控制(39题)

更新时间:2023-11-23 18:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

01:求平均年龄

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

输入

第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。

输出

输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。

样例输入 2 18 17 样例输出 17.50 提示

要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:

printf(\

02:均值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给出一组样本数据,计算其均值。

输入

输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。

输出

输出一行,包含一个浮点数,表示均值,精确到小数点后4位。

样例输入 2 1.0 3.0 样例输出 2.0000

03:求整数的和与均值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

读入n(1 <= n <= 10000)个整数,求它们的和与均值。

输入

输入第一行是一个整数n,表示有n个整数。

第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

输出

输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

样例输入 4 344 222 343 222 样例输出 1131 282.75000 来源

习题(8-6)

04:最高的分数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?

输入

输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

输出

输出一个整数,即最高的成绩。

样例输入 5 85 78 90 99 60 样例输出 99

05:整数序列的元素最大跨度值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。

输入

一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。

输出

输出一行,表示序列的最大跨度值。

样例输入 6 3 0 8 7 5 9 样例输出 9 来源

改编自元培-From Whf

06:奥运奖牌计数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。

输入

输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。

输出

输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。

样例输入 3 1 0 3 3 1 0 0 3 0 样例输出 4 4 3 11

07:奇数求和

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35。

输入

两个数 m 和 n,两个数以一个空格分开,其中 0 <= m <= n <= 300 。

输出

输出一行,包含一个整数,表示m 到 n(包括m 和 n )之间的所有奇数的和

样例输入 7 15 样例输出 55

08:满足条件的数累加

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

将正整数 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 < m < n < 1000。

输入

一行,包含两个整数m和n,其间,以一个空格间隔。

输出

输出一行,包行一个整数,表示累加的结果。

样例输入 50 85 样例输出 204

09:整数的个数 ? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定k(1

输入

输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。

输出

输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。

样例输入 5 1 5 8 10 5 样例输出 1 2 1 来源

计算概论05-模拟考试1

10:与指定数字相同的数的个数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输出一个整数序列中与指定数字相同的数的个数。

输入

输入包含2行:

第1行为N和m,表示整数序列的长度(N <= 100)和指定的数字,中间用一个空格分开;

第2行为N个整数,整数之间以一个空格分开。

输出

输出为N个数中与m相同的数的个数。

样例输入 3 2 2 3 2 样例输出 2

11:乘方计算

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给出一个整数a和一个正整数n,求乘方an。

输入

一行,包含两个整数a和n。-1000000 <= a <= 1000000,1 <= n <= 10000。

输出

一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。

样例输入 2 3 样例输出 8

12:人口增长问题

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?

输入

一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。

输出

输出最后的人口数,以亿为单位,保留到小数点后四位。1 <= x <= 100, 1 <= n <= 100。

样例输入 13 10 样例输出 13.1306 来源

习题(8-1)

13:菲波那契数列

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

给出一个正整数k,要求菲波那契数列中第k个数是多少。

输入

输入一行,包含一个正整数k。(1 <= k <= 46)

输出

输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小

样例输入 19 样例输出 4181 来源

1755

15:鸡尾酒疗法

描述

鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。

输入

第一行为整数n( 1 < n <= 20);

其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个疗效有效的病例数。

这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。

输出

有n-1行输出,分别表示对应改进疗法的效果:

如果效果更好,输出better;如果效果更差,输出worse;否则输出same

样例输入 5 125 99 112 89 145 99 99 97 123 98 样例输出 same worse better same

16:救援

? ? ? ?

查看 提交 统计 提问

描述

救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标

和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。

在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表示。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1 分钟,船原路返回,达到大本营,每人下船0.5 分钟。假设原点与任意一个屋顶的连线不穿过其它屋顶。

输入

第一行,一个整数,表示屋顶数n。

接下来依次有n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数,数之间以一个空格分 开。

输出

一行,救援需要的总时间,精确到分钟 (向上取整)。

样例输入 1 30 40 3 样例输出 7

26:数字反转

描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入

输入共 1 行,一个整数N。

-1,000,000,000 ≤ N≤ 1,000,000,000。

输出

输出共 1 行,一个整数,表示反转后的新数。

样例输入 样例 #1: 123 样例 #2: -380 样例输出 样例 #1: 321 样例 #2: -83 来源

NOIP2011复赛普及组第一题

27:含k个3的数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。

例如,输入: 43833 3

满足条件,输出YES。

如果输入:

39331 3

尽管有3个3,但不能被19整除,也不满足条件,应输出NO。

输入

m 和 k 的值,中间用单个空格间隔。

输出

满足条件时输出 YES,不满足时输出 NO。

样例输入 43833 3 样例输出 YES

28:开关灯

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。

第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。

请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。

输入

输入正整数N和M,以单个空格隔开。

输出

顺次输出关闭的灯的编号,其间用逗号间隔。

样例输入 10 10 样例输出 1,4,9

29:求分数序列和

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。

输入

输入有一行,包含一个正整数n(n <= 30)。

输出

输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。

样例输入 2 样例输出 3.5000 来源

1685

30:计算分数加减表达式的值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

编写程序,输入n的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ... + (-1)n-1·1/n 的值。

输入

输入一个正整数n。1 <= n <= 1000。

输出

输出一个实数,为表达式的值,保留到小数点后四位。

样例输入 2 样例输出 0.5000

31:求阶乘的和

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!)

输入

输入有一行,包含一个正整数n(1 < n < 12)。

输出

输出有一行:阶乘的和。

样例输入 5 样例输出 153 来源

计算概论05

32:求出e的值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。

输入

输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。

输出

输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。

样例输入 10 样例输出 2.7182818011 提示

1、e以及n!用double表示

2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:

printf(\

来源

2005~2006医学部计算概论期末考试

33:计算多项式的值

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。

输入

输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n <= 1000000。

输出

输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在float范围内。

样例输入 2.0 4 样例输出 31.00

34:与7无关的数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.

输入

输入为一行,正整数n(n < 100)

输出

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

样例输入 21 样例输出 2336 来源

计算概论05

35:数1的个数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。

例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。

输入

正整数n。1 <= n <= 10000。

输出

一个正整数,即“1”的个数。

样例输入 12 样例输出 5 来源

习题(8-11) 医学部 2010 期末试题尤朝

36:数字统计

描述

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。

比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入

输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。

输出

输出共 1 行,表示数字 2 出现的次数。

样例输入 样例 #1: 2 22 样例 #2: 2 100 样例输出 样例 #1: 6 样例 #2: 20 来源

NOIP2010复赛普及组第一题

37:画矩形

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

根据参数,画出矩形。

输入

输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。

输出

输出画出的图形。

样例输入 7 7 @ 0 样例输出 @@@@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@

38:质因数分解

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。

输入

输入只有一行,包含一个正整数 n。

对于60%的数据,6 ≤ n ≤ 1000。 对于100%的数据,6 ≤ n ≤ 2*10^9。

输出

输出只有一行,包含一个正整数 p,即较大的那个质数。

样例输入 21 样例输出 7 来源

NOIP2012复赛普及组第一题

39:第n小的质数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一个正整数n,求第n小的质数。

输入

一个不超过10000的正整数n。

输出

第n小的质数。

样例输入 10 样例输出 29

40:金币

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。

你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。

输入

一个整数(范围1到10000),表示天数。

输出

骑士获得的金币数。

样例输入 6 样例输出 14 来源

Rocky Mountain 2004

本文来源:https://www.bwwdw.com/article/fbct.html

Top