2015年北京小学生信息学科普日活动试题
考试时间:
2015年11月15日 9:00至10:30 (90分钟) 要 求:
请你在指定位置用自己的考号建立一个文件夹,提交答案时,请将所有题目的源代码程序放入考号文件夹中,这些程序文件的命名应与试题对应,它们分别是: running、number、tree、game、water。文件夹(或文件)命名错误或未存放在指定位置,不计分。
试题1:田径赛(共10个测试点,每个点2分)
源代码:running.c / running.cpp / running.pas / running.bas
输入文件:running.in 输出文件:running.out
【问题描述】
小明是班上的体育委员。最近学校要举办运动会,小明报名了50米短跑项
目。在比赛以前,小明进行了三次50米测试,如果三次的平均成绩小于等于8秒3的就是优秀,已知三次测试用时,请帮小明判断是否能达到优秀? 【输入文件】
文件名:running.in
文件的第一行有三个用空格分开的实数a,b,c(5≤a,b,c≤20),分别表示
小明这三次50米测试的用时(单位是秒)。实数a,b,c至多有1位小数。 【输出文件】
文件名:running.out
如果能达到优秀输出Yes,否则输出No
【样例输入1】
8.3 8.2 8.3 【样例输出1】
Yes 【样例输入2】
7.5 8 10.5 【样例输出2】
No 【样例解释】
小明的平均速度就是在这三次测试中速度的平均值。
试题2:报数(共10个测试点,每个点2分)
源代码:number.c / number.cpp / number.pas / number.bas
输入文件:number.in 输出文件:number.out
【问题描述】
3班的同学们在玩报数游戏,他们排成一排,第一个同学报数1,第二个同
学也报数1,从第三个同学开始,每个同学报的数是前两个同学的报数之和。比如第三个同学该报数2,第四个同学报数3,现在排在第n位的小明想提前知道轮到自己时该报什么数,你能帮帮他吗? 【输入文件】
一个数n,表示小明在第n位
【输出文件】
输出轮到小明时他该报的数字 【样例输入】 5
【样例输出】 5
【样例解释】
前5个人的报数分别为1,1,2,3,5
试题3:圣诞树(共10个测试点,每个点2分)
源代码:tree.c / tree.cpp / tree.pas / tree.bas
输入文件:tree.in 输出文件:tree.out
【问题描述】
虽然还要再过一个月才是圣诞节,但小张已经满心期待了,这不,他已经开
始在本子上画圣诞树了,他画的圣诞树是由一个三角形树叶和直线树干组成的,比如一个4层的圣诞树是这样的 * *** ***** ******* * * * *
上面的树叶是4层*组成的,下面的树干是4个*组成的
小张想画一个很大的圣诞树,但是他没有耐心了,你能用学到的编程知识帮他画出这颗树吗? 【输入文件】
一个数n表示小明要画n层圣诞树
【输出文件】 圣诞树的样子 【样例输入】 3
【样例输出】 * *** ***** * * *
试题4:石头剪刀布(共10个测试点,每个点2分)
源代码:game.c / game.cpp / game.pas / game.bas
输入文件:game.in 输出文件:game.out
【问题描述】
小名和小志在玩石头剪刀布的游戏,谁输了就要做值日。为了保证公平,他们决定玩n局,并且记录下每局两个人出的手势。游戏规则是石头胜剪刀,剪刀胜布,布胜石头,若两人手势相同则是平局。
请你根据记录的内容,算出两个人分别赢了多少局。 【输入文件】
文件名:game.in
文件中第一行是一个整数n(1≤n≤100)。
第二行是一个长度为n个字符的字符串,表示小名每局出的手势。 第三行是一个长度为n个字符的字符串,表示小志每局出的手势。 字符串只含有’R’, ’P’, ’S’三种字符 ,其中’R’表示石头(Rock),’P’表示布(Paper),’S’表示剪刀(Scissors)。 【输出文件】
文件名:game.out
文件仅一行,有两个整数,之间用空格隔开,依次表示小名和小志分别赢了
多少局。 【样例输入】
6
RRPSPP
RPSPRR 【样例输出】
3 2
试题5 :倒水问题(共5个测试点,每个点4分)
源代码:water.c / water.cpp / water.pas / water.bas
输入文件:water.in 输出文件:water.out
【问题描述】
教室附近的洗漱间有三个水桶,容量分别是a升,b升和c升。有一天,爱思考的小名想到了这样一个问题。
最初三个水桶都是空的。如果一次操作为以下三种之一:将某个水桶灌满水;将某个水桶的水全部倒掉;将某个水桶的水倒入另一个水桶直到灌满或是全部倒尽。那么,经过若干次操作,可以在一个水桶中得到多少种不同体积的水? 【输入文件】
文件名:water.in
文件仅有一行,为三个整数a,b, c(1≤a,b,c≤50)。
【输出文件】
文件名:water.out
文件包括若干行,每行一个整数,表示能够得到的每一种体积(不包括空的情况)。所有体积按从小到大的顺序输出。 【样例输入1】
2 4 7 【样例输出1】 1 2 3 4 5 6 7
【样例输入2】
5 5 10 【样例输出2】
5 10 【样例解释】
样例1。在一个水桶中倒满水,可以得到2L、4L、7L水;将7L的水桶倒满,再倒入4L的空桶中,可以剩下3L水;将2L的水桶倒满水,再倒入已有3L水的7L水桶中,可以得到5L水;将2L和4L的水桶倒满水,再倒入7L的空桶中,可以得到6L水;将2L水桶倒满水后向装有6L水的7L水桶倒水,剩下1L水