收藏 分享(赏)

初中信息奥赛题库——编程基础之循环控制.doc

上传人:HR专家 文档编号:5063442 上传时间:2019-02-04 格式:DOC 页数:22 大小:127KB
下载 相关 举报
初中信息奥赛题库——编程基础之循环控制.doc_第1页
第1页 / 共22页
初中信息奥赛题库——编程基础之循环控制.doc_第2页
第2页 / 共22页
初中信息奥赛题库——编程基础之循环控制.doc_第3页
第3页 / 共22页
初中信息奥赛题库——编程基础之循环控制.doc_第4页
第4页 / 共22页
初中信息奥赛题库——编程基础之循环控制.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、01:求平均年龄描述: 班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。输入第一行有一个整数 n(1=1) and (nmax then max:=x;if x=0) and (n=0) and (n=300);sum:=0;if (m mod 2=1) thenbegini:=m;while(i=n) dobeginsum:=sum +i;i:=i+2;end;end;i:=m+1;while(i=n) dobeginsum:=sum +i;i:=i+2;end;write(sum);read(x);end. 08:满足条件的数累加描述: 将正整数

2、 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 m n 1000。输入一行,包含两个整数 m 和 n,其间,以一个空格间隔。输出输出一行,包行一个整数,表示累加的结果。样例输入50 85样例输出20409:整数的个数描述: 给定 k(1k100)个正整数,其中每个数都是大于等于 1,小于等于 10 的数。写程序计算给定的 k 个正整数中, 1,5 和 10 出现的次数。输入输入有两行:第一行包含一个正整数 k,第二行包含 k 个正整数,每两个正整数用一个空格分开。输出输出有三行,第一行为 1 出现的次数,第二行为 5 出现的次数,第三行为 10出现的次数。样例输入51

3、 5 8 10 5 样例输出12110:与指定数字相同的数的个数描述: 输出一个整数序列中与指定数字相同的数的个数。输入输入包含 2 行:第 1 行为 N 和 m,表示整数序列的长度(N = 100)和指定的数字, 中间用一个空格分开;第 2 行为 N 个整数,整数之间以一个空格分开。输出输出为 N 个数中与 m 相同的数的个数。样例输入3 22 3 2样例输出211:乘方计算描述: 给出一个整数 a 和一个正整数 n,求乘方 an。输入一行,包含两个整数 a 和 n。 -1000000 = a = 1000000,1 = n = 10000。输出一个整数,即乘方结果。题目保证最终结果的绝对值

4、不超过 1000000。样例输入2 3样例输出812:人口增长问题描述: 我国现有 x 亿人口,按照每年 0.1%的增长速度,n 年后将有多少人?输入一行,包含两个整数 x 和 n,分别是人口基数和年数,以单个空格分隔。输出输出最后的人口数,以亿为单位,保留到小数点后四位。1 = x = 100, 1 = n = 100。样例输入13 10样例输出13.130613:菲波那契数列描述: 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。给出一个正整数 k,要求菲波那契数列中第 k 个数是多少。输入输入一行,包含一个正整数 k。(1 = k =

5、46)输出输出一行,包含一个正整数,表示菲波那契数列中第 k 个数的大小样例输入19样例输出418115:鸡尾酒疗法描述: 鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于 1996 年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生 命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 进行。假设鸡尾酒疗法的有效率为 x,

6、新疗法的有效率为 y,如果 y-x 大于 5%,则效果更好,如果 x-y 大于 5%,则效果更差,否则称为效果差不多。下面给 出 n 组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1 组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。输入第一行为整数 n( 1 n = 20);其余 n 行每行两个整数,第一个整数是临床实验的总病例数(小于等于 10000),第二个疗效有效的病例数。这 n 行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。输出有 n-1 行输出,分别表示对应改进疗法的效果:如果效果更好,输出 better;如果效果更差,输出 worse;否则输出 s

7、ame样例输入5125 99112 89145 9999 97123 98样例输出sameworsebettersame16:救援描述: 救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。 在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表 示。救生船每次从大本营出发,以速度 50 米/ 分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船 1 分钟,船原路返回,达到大本营,每人下船 0.5 分钟。假设原点与任意一

8、个屋顶的连线不穿过其它屋顶。输入第一行,一个整数,表示屋顶数 n。接下来依次有 n 行输入,每一行上包含两个表示屋顶相对于大本营的平面坐标位置的实数(单位是米)、一个表示人数的整数,数之间以一个空格分开。输出一行,救援需要的总时间,精确到分钟 (向上取整) 。样例输入130 40 3样例输出717:球弹跳高度的计算描述: 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第 10 次落地时,共经过多少米? 第 10 次反弹多高?输入输入一个整数 h,表示球的初始高度。输出输出包含两行:第 1 行:到球第 10 次落地时,一共经过的米数。第 2 行:第 1

9、0 次弹跳的高度。注意:结果可能是实数,结果用 double 类型保存。提示:输出时不需要对精度特殊控制,用 cout ANSWER,或者printf(“%g“, ANSWER)即可。样例输入20样例输出59.92190.019531318:角谷猜想描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如,假定初始整数为 5,计算过程分别为 16、8、4、2 、1。 程序要求输入一个整数,将经过处理得到 1 的过程输出来。输入一个正整数 N(N = 2,000,000)输出从输入整数到 1 的步

10、骤,每一步为一行,每一部中描述计算过程。最后一行输出“End“。如果输入为 1,直接输出“End“。样例输入5样例输出5*3+1=1616/2=88/2=44/2=22/2=1End19:津津的储蓄计划描述: 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300 元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100 元或恰好 100 元,她就会把整百的钱存在妈妈那里

11、,剩余的钱留在自己手中。例如 11 月初津津手中还有 83 元,妈妈给了津津 300 元。津津预计 11 月的花销是 180 元,那么她就会在妈妈那里存 200 元,自己留下 183 元。到了 11 月月末,津津手中会剩下 3 元钱。津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。现在请你根据 2004 年 1 月到 12 月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到 2004 年年末,妈妈将津津平常存的钱加上 20还给津

12、津之后,津津手中会有多少钱。输入包括 12 行数据,每行包含一个小于 350 的非负整数,分别表示 1 月到 12 月津津的预算。输出包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X 表示出现这种情况的第一个月;否则输出到 2004 年年末津津手中会有多少钱。样例输入样例 #1:29023028020030017034050 90 80 20060样例 #2:290 230 280 200 300 170 330 50 90 80 200 60样例输出样例 #1:-7样例 #2:158020:药房管理描述: 随着信息技术的蓬勃发展,医疗信息化已经成为

13、医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。 对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。输入共 3 行第一行是每天开始时的药品总量 m第二行是这一天

14、取药的人数 n(0 n = 100)第三行共有 n 个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔输出只有 1 行,为这一天没有取上药品的人数。样例输入30610 5 20 6 7 8样例输出221:正常血压描述: 监护室每小时测量一次病人的血压,若收缩压在 90 - 140 之间并且舒张压在60 - 90 之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。输入第一行为一个正整数 n,n 100其后有 n 行,每行 2 个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。输出输出仅一行,血压连续正常

15、的最长小时数。样例输入4100 8090 50120 60140 90样例输出222:求特殊自然数描述: 一个十进制自然数, 它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。输入无。输出三行:第一行是此自然数的十进制表示;第一行是此自然数的七进制表示;第一行是此自然数的九进制表示。样例输入(无)样例输出(不提供)23:统计满足条件的 4 位数个数描述: 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。输入输入为两行,第一行为四位数的个数 n,

16、第二行为 n 个的四位数,数与数之间以一个空格分开。(n = 100)输出输出为一行,包含一个整数,表示满足条件的四位数的个数。样例输入51234 1349 6119 2123 5017样例输出324:级数求和描述: 已知:Sn= 11213 1n。显然对于任意一个整数 K,当 n 足够大的时候,Sn 大于 K。现给出一个整数 K(1=k=15),要求计算出一个最小的 n;使得 SnK。输入一个整数 K。输出一个整数 n。样例输入1样例输出225:分离整数的各个数位描述: 给定一个整数,要求从个位开始分离出它的每一位数字。输入输入一个整数,整数在 1 到 100000000 之间。输出从个位开

17、始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。样例输入123样例输出3 2 126:数字反转描述: 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。输入输入共 1 行,一个整数 N。-1,000,000,000 N 1,000,000,000。输出输出共 1 行,一个整数,表示反转后的新数。样例输入样例 #1:123样例 #2:-380样例输出样例 #1:321样例 #2:-83来源NOIP2011 复赛 普及组 第一题25:分离整数的各个数位描述: 给定一个整

18、数,要求从个位开始分离出它的每一位数字。输入输入一个整数,整数在 1 到 100000000 之间。输出从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。样例输入123样例输出3 2 126:数字反转描述: 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。输入输入共 1 行,一个整数 N。-1,000,000,000 N 1,000,000,000。输出输出共 1 行,一个整数,表示反转后的新数。样例输入样例 #1:123样例 #2:-380样例输出样例 #

19、1:321样例 #2:-83来源NOIP2011 复赛 普及组 第一题27:含 k 个 3 的数描述: 输入两个正整数 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样例输出YES28:开关灯描述: 假设有 N 盏灯(N 为不

20、大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;有 M 个人(M 为不大于 N 的正整数)也从 1 到 M 依次编号。第一个人(1 号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3 号一样,将凡是自己编号倍数的灯做相反处理。请问:当第 M 个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。输入输入正整数 N 和 M,以单个空格隔开。输出顺次输出关闭的灯的编号,其间用逗号间隔。样例输入10 10样例

21、输出1,4,929:求分数序列和描述: 有一个分数序列 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.500030:计算分数加减表达式的值描述编写程序,输入 n 的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 -

22、1/6 + 1/7 - 1/8 + . + (-1)n-11/n 的值。输入输入一个正整数 n。1 = n = 1000。输出输出一个实数,为表达式的值,保留到小数点后四位。样例输入2样例输出0.500031:求阶乘的和描述:给定正整数 n,求不大于 n 的正整数的阶乘的和(即求 1!+2!+3!+.+n!)输入输入有一行,包含一个正整数 n(1 n 12)。输出输出有一行:阶乘的和。样例输入5样例输出15332:求出 e 的值描述: 利用公式 e = 1 + 1/1! + 1/2! + 1/3! + . + 1/n! 求 e 。输入输入只有一行,该行包含一个整数 n(2=n=15 ),表示计

23、算 e 时累加到1/n!。输出输出只有一行,该行包含计算出来的 e 的值,要求打印小数点后 10 位。样例输入10样例输出2.7182818011提示1、e 以及 n!用 double 表示2、要输出浮点数、双精度数小数点后 10 位数字,可以用下面这种形式:printf(“%.10f“, num);33:计算多项式的值描述: 假定多项式的形式为 xn+xn-1+x2+x+1,请计算给定单精度浮点数 x 和正整数 n 值的情况下这个多项式的值。输入输入仅一行,包括 x 和 n,用单个空格隔开。 x 在 float 范围内,n = 1000000。输出输出一个实数,即多项式的值,精确到小数点后两

24、位。保证最终结果在 float 范围内。样例输入2.0 4样例输出31.0034:与 7 无关的数描述: 一个正整数,如果它能被 7 整除,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数.现求所有小于等于 n(n 100)的与 7 无关的正整数的平方和.输入输入为一行,正整数 n(n 100)输出输出一行,包含一个整数,即小于等于 n 的所有与 7 无关的正整数的平方和。样例输入21样例输出233635:数 1 的个数描述给定一个十进制正整数 n,写下从 1 到 n 的所有整数,然后数一下其中出现的数字“1”的个数。例如当 n=2 时,写下 1,2。这样只出现了 1 个“

25、1” ;当 n=12 时,写下1,2 ,3 ,4,5,6,7 ,8,9,10,11,12 。这样出现了 5 个“1”。输入正整数 n。1 = n = 10000。输出一个正整数,即“1” 的个数。样例输入12样例输出536:数字统计描述: 请统计某个给定范围L, R的所有整数中,数字 2 出现的次数。比如给定范围2, 22,数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次。输入输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。输出输出共 1

26、 行,表示数字 2 出现的次数。样例输入样例 #1:2 22样例 #2:2 100样例输出样例 #1:6样例 #2:20来源NOIP2010 复赛 普及组 第一题37:画矩形描述: 根据参数,画出矩形。输入输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于 3 行不多于 10 行,宽不少于 5 列不多于 10 列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为 1 或 0,0 代表空心,1 代表实心。输出输出画出的图形。样例输入7 7 0样例输出 38:质因数分解描述: 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。输入输入只有一行,包含一个

27、正整数 n。对于 60%的数据,6 n 1000。对于 100%的数据, 6 n 2*109。输出输出只有一行,包含一个正整数 p,即较大的那个质数。样例输入21样例输出7来源NOIP2012 复赛 普及组 第一题39:第 n 小的质数描述: 输入一个正整数 n,求第 n 小的质数。输入一个不超过 10000 的正整数 n。输出第 n 小的质数。样例输入10样例输出2940:金币描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币这种工资发放模式会一直这样延续下去:当连续 N 天每天收到 N 枚金币后,骑士会在之后的连续 N+1 天里,每天收到 N+1 枚金币(N 为任意正整数)。你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。输入一个整数(范围 1 到 10000),表示天数。输出骑士获得的金币数。样例输入6样例输出14

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 初中教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报