版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2001年长沙市计算机奥林匹克竞赛决赛试题(时间:120分钟)一、(40分)键入一个字符串(串长不超过20),输出相应字符组成的等边三角形。如:输入:“CHINA'输出:C C H C H I C H 1 H CHIBA程序:program CS200101; vars:string;n,i,j:integer;beginwrite('Input a string:');readln(s);n:=length(s);for i:=1 to n do beginwrite(":40-i);for j:=1 to i do write(sj,'')
2、; writelnend; readln end.二、(50分)一光滑墙壁高 X尺,有一个小虫从墙底部向上爬,每分钟爬Y尺。但每爬一分钟后都要休息一分钟,在休息期间又下滑一尺。编程:输入 X和Y,计算该小虫最少几分钟 可爬到顶端。如:输入:X, Y= 4,2 输出:5 程序:program CS200102; var x,y,s,n:integer; beginwrite('X,Y=');readln(x,y);if y>1 then begin s:=0;n:=0;repeats:=s+y;n:=n+1;if s<>x then begin s:=s-1;n
3、:=n+1;end;until s>=x; writeln(n);end else writeln('Never'); readlnend.三、(50分)科学家在热带森林中发现了一种特殊的小动物,取名为“吱吱”。“吱吱”的生长繁殖过程很有规律,每对小“吱吱”经过 X个月就长成一对大“吱吱”,每对大“吱吱” 每个月都产下 Y对小“吱吱”。假设开始时有一对小“吱吱”,并且每对“吱吱”都不死,问:过Z个月后,共有多少对“吱吱”(X>1, Y> 1,1 WZW24)(注:若当前是1月,则“过” 2个月,是表示到 3月的时候)输入:X, Y, Z的值输出:“吱吱”的总对
4、数如:输入:X, Y, Z= 2, 2, 4 输出:11程序:program CS200103; varx,y,z,s,s1,n:longint;s1 为大“吱吱"的个数s2:array1.24 of longint;s2为小“吱吱”的个数,s21代表第一天小“吱吱”的个数,依 次类推begins:=0;s1:=0;s21:=1;write('X,Y,Z=');readln(x,y,z);for n:=x to z+1 do begins2n:=s1*y;计算当天出生的小“吱吱” s1:=s1+s2n-x+1;s2n-x+1:=0;计算当天长大的"吱吱&qu
5、ot;,s2n-x+1为X个月前出生的小 “吱吱”个数end;s:=s+s1;将大“吱吱”数计入总数for n:=1 to z+1 do s:=s+s2n;将小"吱吱”数计入总数writeln(s);readln end.四、(60分)如下图所示,键入 A, B, C, D, E的值,然后从 A出发,顺次经过每个数字 分岔路口,选择+、*、/四种运算符之一进行运算,达到目的地 E时,运算结果恰好等于E,请你将所有符合上述条件的道路全部找出来。输入:A、B、C D和E的值(其中A、BC、D都是19的数字,E是正整数)输出:从A能到达E的所有道路代表的运算式(注意:前两步运算要加括号)最
6、后打印出道路的总数。如:输入:A, B, C, D, E= 1,2,3,4,10输出:(1 + 2) + 3) + 4=10(1*2) * 3) +4 = 10TOTA2程序:program CS200104;var A,B,C,D,E,sum,f1,f2,f3,total:integer;function s(n1,n2,f:integer):integer;begincase f of1:s:=n1+n2;2:s:=n1-n2;3:s:=n1*n2;4:if (n2<>0) and (trunc(n1 /n2)=n1 div n2) then s:=n1 div n2 else
7、 s:=-1000;end;end;procedure wf(x:integer);begincase x of1:write('+');2:write('-');3:write('*');4:write('/');end;end;begintotal:=0;write('A,B,C,D,E=');readln(a,b,c,d,e);for f1:=1 to 4 dofor f2:=1 to 4 dofor f3:=1 to 4 doif e=s(s(s(a,b,f1),c,f2),d,f3) then begin
8、total:=total+1;write('(','(',a);wf(f1);write(b,')');wf(f2);write(c,')');wf(f3);writeln(d,'=',e)end;writeln('TOTAL=',total);readln;end.2002年长沙市计算机奥林匹克竞赛决赛试题(时间:120分钟)一、填信息(20分)小明对信息学很感兴趣,他报名参加今年的小学生电脑奥赛,报名时老师要求他填写自己的相关信息。现在,请你将自己的相关信息打印出来。显示格式要求如下:说明:X1
9、为你的决赛证编号X2为你的姓名(用拼音)X3为你的性别(男生用 boy,女生用girl)X4为你所在的学校名称(用拼音)My number is X1My name is X2My sex is X3My school is X4程序:program CS200201; beginwriteln('My number is 200201');writeln('My name is XiaoMing');writeln('My sex is boy');writeln('My school is TongPuJie');end.二、
10、找字符(60分)有一天,小明编了一个程序,能很快找出一个字符串中出现次数最多的字符,你能做到吗输入:一个字符串(长度不超过50)输出:按字符在字符串中出现的先后顺序,显示出现次数最多的字符样例输入:ACABBCCDDB输出:CB程序:program CS200202;vara,b:string;c:char;d:array1.50 of integer;记录每一字符出现的次数,同时数组的序号也就代表了字符出现 的先后次序i,j,max:integer;beginreadln(a);b:=a;将字符串a赋值给b,起到保护输入的字符串a的作用。这一操作不是必须的,也可以直接对字符串a进行操作。但因
11、后面的程序会造成对所操作的字符串内容的破坏,养成对输入内容进行保护的习惯有益的。for i:=1 to length(a) do beginc:=bi;di:=0;if c<>'.' Thenfor j:=i to length(a) do beginif c=bj then begindi:=di+1;bj:='.'每找到一个相同的字符就把此字符赋值为 相同的字符,在d数组中每个字符出现次数的记录将是唯一的。end;end;end;max:=d1;for i:=2 to length(a) do if di>max then max:=di;
12、 寻找字符出现的最大次数 for i:=1 to length(a) do if di=max then write(ai); 按次序输出出现资料最多的字符writeln;readln; end.三、拼三角(60分)有一次,老师给小明N根小木棒,要他从中选出K根,使这K根当中的任意三根都能拼成一个三角形。老师告诉他,构成一个三角形的条件是:任意两边之和大于第三边, 任意两边之差小于第三边。小明思考后,发现将这些小木棒按长短顺序排列后,很容易解决问题。请你用表达式 RANDOM (900)随机产生N个正整数(表示小木棒的长度),帮小明求出 K 的最大值。输入:N (3WNW 500)输出:K的最
13、大值样例输入:6排序后的6个随机数为:19,26,161,220,348,529 输出:3程序:program CS200203磔本思路:如果三角形中二条较小边的和大于最大边,则此三条边可以 构成三角形。对于有序排列的数,只要确定了能构成三角形的最小数和最大数,中间的每一个数都符合条件varn,k,i,j,t,l:integer;a,b:array1.500 of integer;ok:boolean;beginreadln(n);for i:=1 to n do beginai:=random(900)+1;end;生成随机数并赋值给数组afor i:=1 to n do write(ai:
14、5);writeln;显示生成的随机数,调试用 for i:=1 to n-1 dofor j:=i+1 to n doif ai>aj then begint:=ai;ai:=aj;aj:=t;end;对生成的随机数从小到大进行排序for i:=1 to n do write(ai:5);writeln;显示排序结果,调试用 for i:=1 to n-2 do beginok:=false;l:=n;repeatif ai+ai+1>al then ok:=true else l:=l-1;until ok or (l=i+1); 对于每根小棒寻找能够构成三角形的最长小棒在数组
15、a中的位置lif ok then bi:=l-i+1; 得到能与当前小棒组成三角形的小棒数量end;for i:=1 to n do write(bi:5);writeln;k:=b1;for j:=2 to n doif bj>k then k:=bj;writeln('K=',k);readln;end.四、数的统计(60分)一个数“含有0”是指这个数至少有某一位数字为0。小明对那些“含有 0”的自然数很感兴趣,想挑出来进行研究。那么, 1N当中“含有0”的自然数有多少个小明想在1秒钟内得到答案,你能帮他做到吗输入:N (1W NW 0)样例输入:105输出:15程序
16、:program CS200204;var n,i,l:longint;s:string;beginl:=0; readln(n);for i:=1 to n do begin str(i,s);if pos('0',s)<>0 then l:=l+1;end;writeln(l);end.2004年长沙市计算机奥林匹克竞赛决赛试题(时间:120分钟)一、求和(30分)由键盘输入正整数 N (NW100),求1到N之间所有的5的倍数之和S。例:输入:N= 10输出:S= 15(因为110之间只有5和10是5的倍数)程序:program CS200204;var n,
17、i,l:longint;s:string;beginl:=0;readln(n);for i:=1 to n do beginstr(i,s);if pos('0',s)<>0 then l:=l+1;end;writeln(l);end.二、文本图形(50)由键盘输入正整数 N (NW21)和一个字符串 A (A由N个任意的大写字母组成),要求 输出一个左右对称的N行的文本图形。例:输入:N = 4A= ABCD输出:AAEAABCBAABCDCRA程序:program CS200402; varn,i,j,k:integer;a:string;beginwrit
18、e('N=');readln(n);write('A=');readln(a);for i:=1 to n do beginwrite(":41-i);for j:=1 to i do write(aj);for k:=i-1 downto 1 do write(ak);writeln;end; readln;end.三、找数(60分)由键盘输入正整数N (NW500)和K (KW 9),请找一个正整数M,使NXM的值仅由0K组成,而且0K的每个数字至少出现一次。编程序在130000范围内找出符合条件的最小的M值,如果找不到,则输出“ No find!
19、”。例:输入:N, K=65,3输出:M=48(因为 65X48=3120)输入:N, K= 125,8输出:No find!程序:program CS200403; var n,k,m,i,j,s:longint;t:boolean;a,b:string;label 1;beginwrite('N,K=');readln(n,k);for m:=1 to 30000 do begins:=n*m;t:=true;str(s,a);将s转换为字符串afor i:=0 to k do begin str(i,b);if pos(b,a)=0 then t:=false;end;如
20、果0k之间有一个数不包含在a当中,则令逻辑指针为假 for j:=k+1 to 9 do begin str(j,b);if pos(b,a)<>0 then t:=false;end;如果k9之间有一个数包含在 a当中,则令逻辑指针为假 if t=true then goto 1;找到符合条件的 m值,跳转隼出部分 end;1:if t=true then writeln('M=',m) else writeln('No find!');readln;end.四、求倍数及“ 0”的个数(60分)由键盘输入正整数 N ( N w 50 ),已知数列
21、A1 , A2 , A3 , ,An分别为 2004,2004,2004。问:A1 + A2+A3+ An的精确值 S有多少位数 S当中 有多少个“ 0”(设:S的位数为K, S中“0”的个数为Z)例:输入:N=2输出:K= 8Z= 4 (因为S=)程序:program CS200404;var a,s:array1.200 of integer;n,k,z,i,j,m,l:integer;beginwrite('N=');readln(n);k:=n*4;得到S的位数。for i:=1 to n do beginfor j:=1 to 4*i do beginl:=j mod
22、 4;case l of0:aj:=2;1:aj:=4;2,3:aj:=0;end;生成An。为方便运算,生成的 An为4002的形式,第一位为个数end;for m:=1 to k do beginsm:=sm+am;if sm>=10 then beginsm:=sm mod 10;am+1:=am+1+1;end;逢 10 进 1end;将An累加进send;z:=0;for i:=1 to 4*n do if si=0 then z:=z+1;统计 0 的个数writeln('K=',k,'Z=':5,z);readln;end.2 0 0 5年长
23、沙市计算机奥林匹克竞赛决赛试题(时间:120分钟)一、拆分整数:(1 0 0分)输入一个正整数 N,如果N是偶数,则拆分 N的各个数字相加求和;如果N是奇数,则拆分N的各个数字相乘求积。输入输出样例:输入:N= 1 2 6 输出:H= 9输入:N= 1 2 3 输出:J= 6程序:program CS200501;varn,h,j,l,i,t:integer;a:array1.10 of integer;s:string;beginwrite('N=');readln(n);t:=n;i:=1;if t>10 thenrepeatai:=t mod 10;t:=t div
24、 10;i:=i+1;until t<10;ai:=t;拆分N的各个数字,存放在数组a中str(n,s);将数n转换为字符串sl:=length(s);取s长度,即得到数 n的位数h:=0;j:=1;if n mod 2=0 then beginfor i:=1 to l do h:=h+ai;writeln('H=',h);end else beginfor i:=1 to l do j:=j*ai;writeln('J=',j);end;根据N的奇偶求和或求积readln;end.二、排最大数:(10 0分)输入N个正整数,请你将它们连接在一起,排成一
25、个最大的数。例如: N=4时,如 果四个正整数是7、13、18、2 4 6,则连接成的最大数为7 2 4 6 1 8 1 3 o输入:N ( 1 < N< 1 0)输出:连接成的最大数N个正整数(以空格相隔)输入输出样例:输入:N= 4输出:7 2 4 6 1 8 1 37131 82 4 6程序:program CS200502;vars:array1.10 of string;a:array1.10 of integer;n,i,j:integer;t:string;beginwrite('N=');readln(n);for i:=1 to n do begi
26、nread(ai);str(ai,si);end;输入数据并转换为字符串readln;for i:=1 to n-1 dofor j:=i to n doif si<sj then begint:=si;si:=sj;sj:=t;end;对字符串进行排序for i:=1 to n do write(si);输出结果 readln;end.三、扫雷游戏:(10 0分)有一种简单的扫雷游戏:在 N行2列的方格棋盘上,左列某些方格内埋有地雷,而右 列每个方格中都有一个数字(。3 ) ,第I格的数字表示:左列第I 1、I、I+ 1格(即: 上、中、下三格)中埋雷的总数。如下所示:左图是初始状态,
27、右图是扫雷完成状态(插小 旗的方格内有雷)。I 2 322- 2 2JaJilri,AJ11你的任务是:根据右列的数字分析出左列格子中的地雷(0表示无雷,1表示有雷) 并且统计出左列格子中地雷的总数。输入:N (2< N<4 0)N个数字(以空格相隔),表示右列格子中的数字。输出:N个0、1数字(占一行),表示左列每格中有无地雷。地雷总数(另起一行)输入输出样例(如上图示):输入:N= 7输出:0 1110 111 2 3 2 2 2 2L= 5程序:program CS200503;var n,l,i:integer;a,b:array1.40 of integer;label
28、1,2;beginwrite('N=');readln(n);for i:=1 to n do read(bi);readln;if n>2 then begina3:=b2卜b1;a1:=0;a2:=b1卜a1;for i:=3 to n do beginai:=bi-1-ai-1-ai-2;if (ai<>0) and (ai<>1) then goto 1;end;if an<>bn卜an-1 then goto 1;goto 2;1:a1:=1;a2:=b1-a1;for i:=3 to n do beginai:=bi-1-a
29、i-1-ai-2;end;2:l:=0;for i:=1 to n do beginwrite(ai);if ai=1 then l:=l+1;end;writeln;writeln('L=',l);end;if n=2 thencase b1 of0:beginwriteln(0,0);writeln('L=',0);end;1:beginwriteln(0,1);writeln(1,0);writeln('L=',1);end;2:beginwriteln(1,1);writeln('L=',2);end;end;readln
30、; end.2006年长沙市计算机奥林匹克竞赛决赛试题(时间:120分钟)一、评选(1 0 0分)某班根据语文、数学、英语和计算机这四科成绩,评选学习积极分子。评选规则如下:(设:Y、S、E、J分别代表语文、数学、英语、计算机)1、四科平均成绩高于9 0分,可评为 A类学习积极分子。2、Y S E三科平均成绩高于8。分,而且 J不低于9。分,可评为B类学习积极分子。3、四科中最高分为1 0。分,最低分不低于6。分,可评为C类学习积极分子。4、一个学生只能被评为符合条件的最高一类学习积极分子(A类最高、C类最低)。现在输入某个学生的四科成绩,请判断该学生能被评为哪一类学习积极分子。输入:四个整数
31、Y S E J输出:A人或#8或#0:(分别表示 A类、B类、C类学习积极分子)若不符合任何评选条件,则输出“ NO”。样例:输入:YS,E,J=85 98 91 100输出:# A程序:program CS200601;var n,l,i:integer;a,b:array1.40 of integer;label 1,2;beginwrite('N=');readln(n);for i:=1 to n do read(bi);readln;if n>2 then begina3:=b2-b1;a1:=0;a2:=b1-a1;for i:=3 to n do begin
32、ai:=bi-1-ai-1-ai-2;if (ai<>0) and (ai<>1) then goto 1;end;if an<>bn-an-1 then goto 1;goto 2;1:a1:=1;a2:=b1-a1;for i:=3 to n do beginai:=bi-1-ai-1-ai-2;end;2:l:=0;for i:=1 to n do beginwrite(ai);if ai=1 then l:=l+1;end;writeln;writeln('L=',l);end;if n=2 thencase b1 of0:begin
33、writeln(0,0);writeln('L=',0);end;1:beginwriteln(0,1);writeln(1,0);writeln('L=',1);end;2:beginwriteln(1,1);writeln('L=',2);end;end;readln;end.二、除法(1 0 0分)输入正整数N、M ,求N+M的值。如果商的小数部分出现循环节,则输出时要求用圆 括号将循环节括起来,如果商为整数,则输出为整数。例如:1 + 2=1+ 3=0.(3) 22 + 5= 33 + 3=11输入:N M输出:N+M的值(保证小数点后不超过5。位,而且未尾不能有多余的0)样例:输入:N,M=45 56输出:(571428)程序:program CS200602;varn,m:real;r,c:array0.50 of real;i,j,k,flag: integer;beginwrite('N,M='); readln(n,m);k:=0; flag:=1;if m<>0 then beginc0:=int(n/m); r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林建筑大学《天然药物化学研究前沿》2023-2024学年第一学期期末试卷
- 吉林工程职业学院《基础护理学实训技术》2023-2024学年第一学期期末试卷
- 物流中心装饰装修施工组织设计方案
- 金融领域信息系统建设合同
- 租赁合同样本及注意事项
- 工艺流程出错检讨书
- 变电站施工安全措施
- 生态园区混凝土地面施工方案
- 吉林财经大学《面向过程程序设计(C语言)》2023-2024学年第一学期期末试卷
- 钢结构厂房抗震施工方案
- 学校2025元旦假期安全教育宣传课件
- 生活中的工业设计智慧树知到期末考试答案章节答案2024年南开大学
- 中国传统绘画赏析智慧树知到期末考试答案章节答案2024年厦门理工学院
- 国开2023年春《理工英语3》机考网考期末复习资料参考答案
- 重卡用前面罩四连杆铰链设计解析
- 物业个人工作总结及计划五篇
- 桩承载力计算(抗压、抗拔、水平、压屈)
- 热裂解炭黑N990市场调查
- 行政管理之印章管理PPT优秀课件
- 血透病人高磷血症的护理查房(PPT)
- 山东科技大学成人高等教育学生学籍表
评论
0/150
提交评论