信息学奥赛辅导程序设计试题汇编答案.docx

上传人:p** 文档编号:1206106 上传时间:2024-11-24 格式:DOCX 页数:59 大小:159.74KB
下载 相关 举报
信息学奥赛辅导程序设计试题汇编答案.docx_第1页
第1页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第2页
第2页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第3页
第3页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第4页
第4页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第5页
第5页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第6页
第6页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第7页
第7页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第8页
第8页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第9页
第9页 / 共59页
信息学奥赛辅导程序设计试题汇编答案.docx_第10页
第10页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《信息学奥赛辅导程序设计试题汇编答案.docx》由会员分享,可在线阅读,更多相关《信息学奥赛辅导程序设计试题汇编答案.docx(59页珍藏版)》请在第壹文秘上搜索。

1、程停世奸徐驳与冬嗓(备注:试题难度评价实行五级评价体系,分基础、简洁、一般、稍难、难五个等级,其中的、二、三级都属于程序设计的基础试题级别,同学们稍加思索均有实力求得正确解答,对于四级试题属于程序设计试题基础级别的思索题,五级难度试题在此没有涉与,在程序设计高级试题中另行讲解。对于基础和简洁两个级别的程序设计试,题,若能够给出语句分类(如If条件语句、条件语句嵌套、循环语句、多重循环语句等)的将尽量给出。若属于13大类别的将尽量标注程序设计试题几大分类:1、1索数类问题(求素数的几种算法):2、数据排序问题(数据排序的几种方法):3、最大公约数和最小公倍数问题(几种算法):4.公式求解类问题(

2、如求圆周率兀、自然常数e、解方程等等):5、编号相反处理问题:6、约瑟夫问题(或猴子选大王问题、密码问题):7、回文数问题:8,高精度数值计算问题:9、数值计算问题:10.进制相互转换问题:Ih字符串倒置问.尊:12,排列与组合类问题:13、因子、质因子(质因数类相关问题:答案部分:(程序设计的源程序没有统一的标准答案,实现程序的匏法也是多种多样,但结果是唯一的,算法也有优劣之分,一个程序的优劣,关键在于是否找到r好的算法,以下程序和算法不确定就是最佳算法和最佳程序,只能仅供参考,希望同学们能够对某些程序提出更好的算法来改进程序)(常常遇到的推断是否为素数、是否为回文数、求两个数的最大公约数、

3、求两个数的最小公倍数等问题的子函数源程序,请务必记住!)推断是否为素数,若是素数则返回Irue,若不是素数则返回fa1.se:functionprime(x:Iongint):boo1.ean;varj,y:Iongint;beginprime:=true;ifx2thenprime:=fa1.se;y:=trunc(sqrt(x);forj:=2toydoif(xmodj=0)thenbeginprime:=1.a1.se;exit;end:end;备注:1.100之间全部的素数:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、

4、73、79、83、89、97(共25个)推断是否为回文数,若是回文数则返回true,若不是回文数则返回fa1.se:functionhiwen(n:Iongint):boo1.ean;varm,i,j:Iongint;a:array1.10ofinteger:beginifn0thenbeginhuiwen:=fa1.se;exit;end;m:=n;i:=0;huiwen:=true;repeati:=i+1.;ai:=mmod10;m:=mdiv10:unti1.m=0;forj:=1.to(idiv2)doifajai-j+1.thenbeginhuiwen:=fa1.se;exit:e

5、nd;end;求最大公约数子函数,返回两个正整数的最大公约数,采纳强转相除法算法:functiongcd(a,b:Iongint):Iongint;beginifb=0thengcd:=ae1.segcd:=gcd(b,amodb);end;求最小公倍数:1Cm=a*bdivgcd(a,b);(以卜程序设计试题来自奥赛经典(语言篇)力第2章基本语句与程序结构例题部分:1 .求梯形的面积。(梯形面积公式:S=FM+与)(,测试数据2、求一元二次方程aY+bx+C=O的两个实根。(求根公式:生乃4竺)(,测试数据a=1.,b=-5,c=6;答案:x1.=2.x.=3)3、输入一个三位的白然数,然后

6、把这个数的仃位与个位对调,输出对调后的结果。()4、输入三个数a、b、c,首先推断这三个数能否构成三角形,若能,则求出三角形的面积。(提示:海伦公式S=Wm-硕(d-C),其中=上等,a、b、C为边长)(,If条件语件,测试数据a=5,b=6,0=7:答案:14.7)5、从键盘读入三个数,按从大到小的依次把它们打印出来。(,If条件语句)6、输入三角形的三边,推断它是否是直角三角形。(,If条件语句,测试数据3、4、5:4、5、6;答案Yes;N。)7、编写一个依据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。8、输入一个年号,推断它是否为闰年。(,If条件语句,测试数据190

7、0;2000;2008:答案:No;Yes;Yes)9、编程计算S=1.+2+3+100。(,循环语句,答案:5050)相关练习:(1)S=I+-+-+:(2)5=1.2+22+.+1.(Xf:23I(X)(3)S=2+4+6+100:(4)5=)+4+7+10+1.(X):(相关练习答案:(D5.191保留2为小数);(2)338350;(3)2550;(4)1717)1()、依据公式?=1+*+*+7,计算圆周率的71值。(,循环语句,测试数据n=10000;答案:3.1414971639)programe:vari:Iongint;s:rea1.:beginwrirp1.n*=0,for

8、i:=ito10000dos:=s+1./(i*i);writein(sqrt(6*s);end.Ik计算n!。(n!=123n.取n=10)(,循环语句,10!=3628800)12、已知一对兔子,每个月可以生一对小兔,而小兔过一个月后也可生一对小兔。即兔子的对数是:第一个月1对,其次个月2对,第三个月3对,第四个月5时,假设兔子的生育期是12个月,并且不死,问一年后,这对兔子有多少对活着的后代?(FibonaCCi数列问题)(,循环语句,1、2、3,5、8,13、21、34、55、89、144、233;答案233)3求两个整数a与b的最大公约数和最小公倍数。(,循环语句、If条件语句,测试

9、数据16和24,最大公约数8,最小公倍数48)以利用格利裔公式求丸。=-,直到最终一项的值小于Iof为止。(,循环语句)(答案23.1415946569EH)O)programe2_32;varn,fh:Iongint:s,t,p:rea1.;beginwritein;n:=1.;s:=0:t:=1.;fh:=1.;whi1.e(abs(t)=1.e-6)dobegint:=fh/n:s:=s+t;n:=n+2:fh:=-fh;end;p:=4*s;,twritein(,pi,p):end.相关练习:利用公式工=,求n。8135791.1.(计算前100OO项时,答案为3.1415426536

10、)programe;vari,a,b:Iongint;x,s:rea1;beginWriIe1.rs*0,fori:=ito10000dobegina:=(4*i-3);b:=(4*i-1.);s:=s+1./(a*b);end;writein(8*s);end.15,求100999中的水仙花数。(若三位数ABC,ABC=A+B+C,则称ABC为水仙花数。例如153,r+6+3=153,则153是水仙花数)语句)(答案:153、370、371、407)programe1.2:var1, a,b,c:integer;beginwritein;fori:=100to999dobegina:=idi

11、v100:b:=(imod100)div10;c:=imod10;ifi=a*a*a+b*b*b+c*c*cthenwrite(i:8):end;end.(,循环语句)16、试编写能够打印输出如卜图形的程序。AAAAAAAAAAAAAAAAAAAAAAprograme;constn=5;vari,j:integer:beginwritein;fori:=1Iondobegi“,.、write(:):forj:=1.to(n-i)*2+JdowriteCA);writein;end;end.17,四个学生上地理课,回答我国四大淡水湖大小时这样说:甲:“最大洞庭湖,最小洪泽湖,鄱阳湖第三乙:“最大

12、洪泽湖,最小洞庭湖,鄱阳湖其次,太湖第三J丙:“母小洪泽湖,洞庭湖第三J丁:“最大鄱阳湖,最小太湖,洪泽湖其次,洞庭湖第三J对于每个湖的大小,每个学生仅答对个,请编程确定四个湖的大小。习题部分:1,已知三角形的两边a、b和夹角jc的值,求第三边(已知条件由键盘输入)。()(提示:余角公式c=2+/-2,出COSe)(测试数据:输入a=3、b=4、jc=90,输出5)programe25;vara,b,c,jc:rea1.;beginrite1.nCinputa,b,jc:);readIn(a.b,jc);c:=SqrI(a*a+b*b-2*a*b*cos(pi*jc180);WriteIn(C

13、:8:2);wr2、编写程序把一个四位整数3581颠倒成1853。()programe;constn=3581;varatb,c,d:integer:beginWri1.e1.n:a:=nmod10;b:=(ndiv10)rood10:c:=(ndiv100)mod10;d:=ndiv1000;writeIn(a,b,c,d);end.相关练习:随意输入一个正整数,做倒输出该数。programe:varn:Iongint;begin,.,wriVein:write1.nCinputaintegernumber:);readIn(n);repeatwrite(nmod10);n:=ndiv10;

14、unti1.n=0;end.3、输入a、I”C三个数,打印出最大者。(,If条件语句)programe:vara,b,c:rea1.:begin,wriIe1.n(inputthreenumberfora,b,c:);reab)and(ac)thenwriteIn(八);e1.seif(ba)anc)thenwrite1.n(b);e1.sewrite1.n(c):end.4、从键盘读入两个数,比较其大小,把大数置于x,小数置于y。请设计实现该功能的程序。(,If条件语句)(程序略)5、输入三个数,推断以这三个数为边能否组成一个三角形。若不能,则给出适当信息:若能,则进步推断它们构的是锐角三角形、直角三角形还是钝角三角形,并输出其特征(等边、等腰、直角、一股)、求其面积。(,I条件语句)(算法分析:对于推断是锐角、直角、还是钝角三角形,只需推断域大边的平方与其余两边的平方和的大小比较即可,小于则为锐角、等于则为直角、大于则为钝角。)(测试数据:1

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

当前位置:首页 > 高等教育 > 习题/试题

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!