最新初中信息奥赛题库编程基础之循环控制资料.docx

上传人:b****7 文档编号:15445424 上传时间:2023-07-04 格式:DOCX 页数:30 大小:25.67KB
下载 相关 举报
最新初中信息奥赛题库编程基础之循环控制资料.docx_第1页
第1页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第2页
第2页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第3页
第3页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第4页
第4页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第5页
第5页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第6页
第6页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第7页
第7页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第8页
第8页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第9页
第9页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第10页
第10页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第11页
第11页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第12页
第12页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第13页
第13页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第14页
第14页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第15页
第15页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第16页
第16页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第17页
第17页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第18页
第18页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第19页
第19页 / 共30页
最新初中信息奥赛题库编程基础之循环控制资料.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新初中信息奥赛题库编程基础之循环控制资料.docx

《最新初中信息奥赛题库编程基础之循环控制资料.docx》由会员分享,可在线阅读,更多相关《最新初中信息奥赛题库编程基础之循环控制资料.docx(30页珍藏版)》请在冰点文库上搜索。

最新初中信息奥赛题库编程基础之循环控制资料.docx

最新初中信息奥赛题库编程基础之循环控制资料

01:

求平均年龄

描述:

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

输入

第一行有一个整数n(1<=n<=100),表示学生的人数。

其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。

输出

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

样例输入

2

18

17

样例输出

17.50

提示

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

 

printf("%.2f",num);

02:

均值

描述:

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

输入

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

输出

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

样例输入

2

1.03.0

样例输出

2.0000

03:

求整数的和与均值

描述:

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

输入

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

第2~n+1行每行包含1个整数。

每个整数的绝对值均不超过10000。

输出

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

样例输入

4

344

222

343

222

样例输出

1131282.75000

04:

最高的分数

描述:

孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。

因为人数比较多,他觉得这件事情交给计算机来做比较方便。

你能帮孙老师解决这个问题吗?

输入

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

所有成绩均为0到100之间的整数。

输出

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

样例输入

5

8578909960

样例输出

99

05:

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

描述:

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

 

输入

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

输出

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

样例输入

6

308759

样例输出

9

代码:

programg;

varn,i,max,min,x,f:

integer;

//e:

integer;

begin

repeat

readln(n)

until((n>=1)and(n<=1000));

read(max);

min:

=max;

fori:

=1ton-1do

begin

read(x);

ifx>maxthenmax:

=x;

ifx

=x;

end;

f:

=max-min;

write(f);

//read(e);

end.

06:

奥运奖牌计数

描述:

2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。

现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。

输入

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

输出

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

样例输入

3

103

310

030

样例输出

44311

programProject1;

varn,suma,sumg,sumc,i,g,a,c,s:

integer;

x:

integer;

begin

repeat

read(n)

until((n>=0)and(n<=17));

sumg:

=0;

suma:

=0;

sumc:

=0;

fori:

=1tondo

begin

read(g,a,c);

sumg:

=sumg+g;

suma:

=suma+a;

sumc:

=sumc+c;

end;

s:

=sumg+suma+sumc;

write(sumg,'',suma,'',sumc,'',s);

read(x);

end.

07:

奇数求和

描述:

计算非负整数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)之间的所有奇数的和

样例输入

715

样例输出

55

programProject1;

varn,m,sum,i:

integer;

x:

integer;

begin

repeat

read(m,n)

until((m<=n)and(m>=0)and(n<=300));

sum:

=0;

if(mmod2=1)then

begin

i:

=m;

while(i<=n)do

begin

sum:

=sum+i;

i:

=i+2;

end;

end;

i:

=m+1;

while(i<=n)do

begin

sum:

=sum+i;

i:

=i+2;

end;

write(sum);

read(x);

end.

08:

满足条件的数累加

描述:

将正整数m和n之间(包括m和n)能被17整除的数累加。

其中,0

输入

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

输出

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

样例输入

5085

样例输出

204

09:

整数的个数

描述:

给定k(1

写程序计算给定的k个正整数中,1,5和10出现的次数。

输入

输入有两行:

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

输出

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

样例输入

5

158105

样例输出

1

2

1

10:

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

描述:

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

输入

输入包含2行:

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

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

输出

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

样例输入

32

232

样例输出

2

11:

乘方计算

描述:

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

输入

一行,包含两个整数a和n。

-1000000<=a<=1000000,1<=n<=10000。

输出

一个整数,即乘方结果。

题目保证最终结果的绝对值不超过1000000。

样例输入

23

样例输出

8

12:

人口增长问题

描述:

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

输入

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

输出

输出最后的人口数,以亿为单位,保留到小数点后四位。

1<=x<=100,1<=n<=100。

样例输入

1310

样例输出

13.1306

13:

菲波那契数列

描述:

菲波那契数列是指这样的数列:

数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

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

输入

输入一行,包含一个正整数k。

(1<=k<=46)

输出

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

样例输入

19

样例输出

4181

15:

鸡尾酒疗法

描述:

鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病。

该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生命,提高生活质量。

人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。

为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。

假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。

下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。

请写程序判定各种改进疗法效果如何。

输入

第一行为整数n(1

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

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

输出

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

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

样例输入

5

12599

11289

14599

9997

12398

样例输出

same

worse

better

same

16:

救援

描述:

救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。

 

在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。

坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表示。

救生船每次从大本营出发,以速度50米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1分钟,船原路返回,达到大本营,每人下船0.5分钟。

假设原点与任意一个屋顶的连线不穿过其它屋顶。

输入

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

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

开。

输出

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

样例输入

1

30403

样例输出

7

17:

球弹跳高度的计算

描述:

一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。

编程计算气球在第10次落地时,共经过多少米?

第10次反弹多高?

输入

输入一个整数h,表示球的初始高度。

输出

输出包含两行:

第1行:

到球第10次落地时,一共经过的米数。

第2行:

第10次弹跳的高度。

注意:

结果可能是实数,结果用double类型保存。

提示:

输出时不需要对精度特殊控制,用cout<

样例输入

20

样例输出

59.9219

0.0195313

18:

角谷猜想

描述:

所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。

如,假定初始整数为5,计算过程分别为16、8、4、2、1。

 

程序要求输入一个整数,将经过处理得到1的过程输出来。

输入

一个正整数N(N<=2,000,000)

输出

从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。

最后一行输出"End"。

如果输入为1,直接输出"End"。

样例输入

5

样例输出

5*3+1=16

16/2=8

8/2=4

4/2=2

2/2=1

End

19:

津津的储蓄计划

描述:

津津的零花钱一直都是自己管理。

每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。

因此津津制定了一个储蓄计划:

每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如11月初津津手中还有83元,妈妈给了津津300元。

津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。

到了11月月末,津津手中会剩下3元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。

有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。

如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。

如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入

包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。

输出

包括一行,这一行只包含一个整数。

如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。

样例输入

样例#1:

290

230

280

200

300

170

340

50

90

80

200

60

样例#2:

290

230

280

200

300

170

330

50

90

80

200

60

样例输出

样例#1:

-7

样例#2:

1580

20:

药房管理

描述:

  随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。

计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。

 

    对药品的管理是其中的一项重要内容。

现在药房的管理员希望使用计算机来帮助他管理。

假设对于任意一种药品,每天开始工作时的库存总量已知,并且一天之内不会通过进货的方式增加。

每天会有很多病人前来取药,每个病人希望取走不同数量的药品。

如果病人需要的数量超过了当时的库存量,药房会拒绝该病人的请求。

管理员希望知道每天会有多少病人没有取上药。

输入

共3行

第一行是每天开始时的药品总量m

第二行是这一天取药的人数n(0

第三行共有n个数,分别记录了每个病人希望取走的药品数量(按照时间先后的顺序),两数之间以空格分隔

输出

只有1行,为这一天没有取上药品的人数。

样例输入

30

6

10520678

样例输出

2

21:

正常血压

描述:

监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。

输入

第一行为一个正整数n,n<100

其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。

输出

输出仅一行,血压连续正常的最长小时数。

样例输入

4

10080

9050

12060

14090

样例输出

2

22:

求特殊自然数

描述:

一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。

编程求此自然数,并输出显示。

输入

无。

输出

三行:

第一行是此自然数的十进制表示;

第一行是此自然数的七进制表示;

第一行是此自然数的九进制表示。

样例输入

(无)

样例输出

(不提供)

23:

统计满足条件的4位数个数

描述:

给定若干个四位数,求出其中满足以下条件的数的个数:

 

个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。

输入

输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。

(n<=100)

输出

输出为一行,包含一个整数,表示满足条件的四位数的个数。

样例输入

5

12341349611921235017

样例输出

3

24:

级数求和

描述:

已知:

Sn=1+1/2+1/3+…+1/n。

显然对于任意一个整数K,当n足够大的时候,Sn大于K。

现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。

输入

一个整数K。

输出

一个整数n。

样例输入

1

样例输出

2

25:

分离整数的各个数位

描述:

给定一个整数,要求从个位开始分离出它的每一位数字。

输入

输入一个整数,整数在1到100000000之间。

输出

从个位开始按照从低位到高位的顺序依次输出每一位数字。

数字之间以一个空格分开。

样例输入

123

样例输出

321

26:

数字反转

描述:

给定一个整数,请将该数各个位上数字反转得到一个新数。

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

输入

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

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

输出

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

样例输入

样例#1:

123

样例#2:

-380

样例输出

样例#1:

321

样例#2:

-83

来源

NOIP2011复赛普及组第一题

25:

分离整数的各个数位

描述:

给定一个整数,要求从个位开始分离出它的每一位数字。

输入

输入一个整数,整数在1到100000000之间。

输出

从个位开始按照从低位到高位的顺序依次输出每一位数字。

数字之间以一个空格分开。

样例输入

123

样例输出

321

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的数

描述:

输入两个正整数m和k,其中1

 

例如,输入:

 

438333 

满足条件,输出YES。

如果输入:

393313 

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

输入

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

输出

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

样例输入

438333

样例输出

YES

28:

开关灯

描述:

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

第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。

依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。

请问:

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

输入

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

输出

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

样例输入

1010

样例输出

1,4,9

29:

求分数序列和

描述:

有一个分数序列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

30:

计算分数加减表达式的值

描述

编写程序,输入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:

求阶乘的和

描述:

给定正整数n,求不大于n的正整数的阶乘的和(即求1!

+2!

+3!

+...+n!

输入

输入有一行,包含一个正整数n(1

输出

输出有一行:

阶乘的和。

样例输入

5

样例输出

153

32:

求出e的值

描述:

利用公式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("%.10f",num);

33:

计算多项式的值

描述:

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

输入

输入仅一行,包括x和n,用单个空格隔开。

x在float范围内,n<=1000000。

输出

输出一个实数,即多项式的值,精确到小数点后两位。

保证最终结果在float范围内。

样例输入

2.04

样例输出

31.00

34:

与7无关的数

描述:

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

输入

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

输出

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

样例输入

21

样例输出

2336

35:

数1的个数

描述

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

例如当n=2时,写下1,2。

这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2