少年宫电脑编程兴趣班测试题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

少年宫电脑编程兴趣班测试题目
竞赛时间:2011年8月21日上午8:00—10:00
题目一览表
题目名称歌手统分银行密码模拟开关
程序文件score password moni
输入文件score.in password.in moni.in
输出文件Score.out password.out moni.out
分值100 100 100
时限1秒1秒1秒
注意事项:
1.务必看清题目,严格按照所要求的格式输入、输出。

2.在调试程序时请先用题目中的示例数据,然后再自行设计多组测试数据进行调试。

3.测试有严格的时间限制,请尽可能优化算法。

4.命名规则:
(1)每题都规定了该题的英文名称。

(2)程序文件和数据文件的主文件都是该题的英文名字。

(3)程序文件扩展名采用语言环境的默认扩展名。

(4)数据文件都是文本文件,输入和输出文件的扩展名分别是.in和.out。

5.程序应从输入文件读取数据,并严格地按照规定的输出格式将结果输出到输出文件中,行首不得有空格,输入数据文件和输出数据文件都与程序在同一个目录中,由于程序所在的目录是不确定的,因此不允许在程序中含有盘符信息和任何形式的路径信息。

6.选手在竞赛结束时应在硬盘指定位置建立以参赛号命名的文件夹,并将所完成各题的源程序文件和编译所产生的可执行文件(即扩展名为.exe的文件)拷贝到该文件夹中。

7.使用输入输出文件的程序结构,供同学参考
//输入输出文件开始都是以写的形式产生的
#include "stdio.h" //包含基本的输入输出头文件
main() //主函数 ,标准C++,要求有返回值,不能是void
{
FILE *fin,*fout; //定义输入输出文件指针
long a,b,c; //定义相关变量
fin=fopen("filename.in","r"); //以读取的方式打开输入文件,指向fin
fout=fopen("filename.out","w");//以写入的方式打开输出文件,指向fout
fscanf(fin,"%d%d",&a,&b); //读取输入文件中的数值,存入变量a,b中
c=a+b; //计算
fprintf(fout,"%ld",c); //在输出计算结果到输出文件中
fclose(fin); //关闭输入文件指针
fclose(fout); //关闭输出文件指针
return 0; // 返回主函数值
}
一、歌手统分
(score.pas/c/cpp)
【问题描述】
最近,我市举行了一届“青年歌手大奖赛”,邀请N名裁判给某歌手打分。

评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值即为该歌手的最终得分m。

裁判给分的范围是60≤分数≤100。

现请你编写程序给该歌手统分,统计出该歌手的最终得分m(小数点后保留两位小数)。

【输入】
输入文件score.in包含N+1行;
第1行是一个正整数N,表示裁判员的个数;
第2~N+1行,每行一个数分别为每个裁判员给该歌手打的分数。

【输出】
输出文件score.out仅包含一行为一个数m,表示该歌手的最终得分
【输入输出样例】
score.in score.out
95.11
5
96.56
85.55
97.88
98.65
90.88
【限制】
40%的数据满足:3≤N≤10
80%的数据满足:3≤N≤100
100%的数据满足:3≤N≤1000
二、银行密码
(password.c/cpp/pas)
【问题描述】
今年阜阳十中给高中部特困生发了助学补助,助学补助都存放在邮政储蓄卡中,但是为了安全,每个同学的储蓄卡的密码要尽量不相同。

所以每个同学的出生年月日为种子,通过一定的公式计算生成一个六位密码。

由于每个同学的书写习惯不一样,年月日的书写格式也不一样,有两类:****年**月**日和**年**月**日。

生成密码的规则是这样的:
1、无论何种格式的日期,最终生成的一定是六位密码;
2、如果学生出生的那一天是偶数,则在最后一位加2,进位不计;
3、如果学生出生的那一天是奇数,则在年的最后一位加5,进位不计;
你的任务是:编写一个程序,通过读取学生输入的年月日,生成他的银行卡密码;
【输入文件】
文件名:password.in
文件中只有一串数字,表示年月日。

【输出文件】
文件名:password.out
文件中只有一串数字,表示银行账号密码。

【样例输入】
910304
【样例输出】
910306
【样例输入】
19890305
【样例输出】
840305
【日期范围】1980-01-01——2000-12-31
三、模拟开关
(moni. c/cpp/pas)
【问题描述】
有N盏电灯排成一行,依次编号是1、2、3、……、N。

现各有一个开关,开始等都亮着的。

现在还有N个人,第一个人过来依次把1和1的倍数电灯的开关都拉一下;第三个人走过依次把3和3的倍数的开关都拉一下;第五个人走过来依次把5和5的倍数的开关都拉一下(按奇数的规律)……。

问最后都有哪些等是关着的?
【输入文件】
输入文件moni.in,文件只有一行,包含一整数N(5=<N<=200)。

【输出文件】
输出文件moni.out包含一行。

有若干个数字,分别是那些关着的灯泡的编号。

(测试数据保证都有输出及非零输出)
【输入样例】
10
【输出样例】
1 2 4 8 9。

相关文档
最新文档