《少年宫电脑编程兴趣班测试题目》由会员分享,可在线阅读,更多相关《少年宫电脑编程兴趣班测试题目(3页珍藏版)》请在金锄头文库上搜索。
1、少年宫电脑编程兴趣班测试题目竞赛时间:2011 年 8 月 21 日上午 8:0010: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、称。(2) 程序文件和数据文件的主文件都是该题的英文名字。(3) 程序文件扩展名采用语言环境的默认扩展名。(4) 数据文件都是文本文件,输入和输出文件的扩展名分别是.in 和.out。5程序应从输入文件读取数据,并严格地按照规定的输出格式将结果输出到输出文件中,行首不得有空格,输入数据文件和输出数据文件都与程序在同一个目录中,由于程序所在的目录是不确定的,因此不允许在程序中含有盘符信息和任何形式的路径信息。6选手在竞赛结束时应在硬盘指定位置建立以参赛号命名的文件夹,并将所完成各题的源程序文件和编译所产生的可执行文件(即扩展名为.exe 的文件)拷贝到该文件夹中。7使用输入输出文件的程序结构,供
3、同学参考/输入输出文件开始都是以写的形式产生的#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(f
4、out,%ld,c); /在输出计算结果到输出 文件中fclose(fin); /关闭输入文件指针 fclose(fout); /关闭输出文件指针 return 0; / 返回主函数值 一、歌手统分(score.pas/c/cpp)【问题描述】最近,我市举行了一届“青年歌手大奖赛”,邀请 N 名裁判给某歌手打分。评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值即为该歌手的最终得分 m。裁判给分的范围是 60分数100。现请你编写程序给该歌手统分,统计出该歌手的最终得分 m(小数点后保留两位小数)。【输入】输入文件 score.in 包含 N+1 行;第 1 行是一个正整数 N,表示
5、裁判员的个数;第 2N+1 行,每行一个数分别为每个裁判员给该歌手打的分数。【输出】输出文件 score.out 仅包含 一 行为一个数 m,表示该歌手的最终得分【输入输出样例】score.in score.out596.5685.5597.8898.6590.8895.11【限制】40%的数据满足:3N1080%的数据满足:3N100100%的数据满足:3N1000二、银行密码(password.c/cpp/pas)【问题描述】今年阜阳十中给高中部特困生发了助学补助,助学补助都存放在邮政储蓄卡中,但是为了安全,每个同学的储蓄卡的密码要尽量不相同。所以每个同学的出生年月日为种子,通过一定的公式
6、计算生成一个六位密码。由于每个同学的书写习惯不一样,年月日的书写格式也不一样,有两类:*年*月*日和*年*月*日。生成密码的规则是这样的:1、无论何种格式的日期, 最终生成的一定是六位密码;2、如果学生出生的那一天是偶数,则在最后一位加 2,进位不计;3、如果学生出生的那一天是奇数,则在年的最后一位加 5,进位不计;你的任务是:编写一个程序,通过读取学生输入的年月日,生成他的银行卡密码;【输入文件】文件名:password.in文件中只有一串数字,表示年月日。【输出文件】文件名:password.out文件中只有一串数字,表示银行账号密码。【样例输入】910304【样例输出】910306【样例
7、输入】19890305【样例输出】840305【日期范围】1980-01-012000-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