第十六届绍兴市少儿信息学竞赛初赛试题(c++)_第1页
第十六届绍兴市少儿信息学竞赛初赛试题(c++)_第2页
第十六届绍兴市少儿信息学竞赛初赛试题(c++)_第3页
第十六届绍兴市少儿信息学竞赛初赛试题(c++)_第4页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十六届绍兴市少儿信息学竞赛初赛试题(小学组 C+语言二小时完成)全部试题答案都要求写在答卷纸上,写在试卷上一律无效一、选择一个正确答案代码(A/B/C/D),填入每題的括号内(每题2 分,每题只有一个正确答案,多选无分。共20 分)1、人工智能英文缩写为()。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。他是计算机科学的一个分支,它企图了解智能的实质,并生尸出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。A. ATB. ALBB C. AMD. AI2、下列存储器按存取速度由

2、快至慢排列,正确的是()A. 硬盘 RAM 高速缓存 U盘B. 高速缓存 RAM 硬盘 U盘C. 髙速缓存硬盘 RAM U盘D.U 盘硬盘 RAM高速缓存3、下列属于输入设备的是()A. 显示器B.触摸屏 C. 音响 D. 打印机4、小写字母“a”的 ASCII 码为 97, 小写字母 i 的 ASCII 码的值是()A. 72B. 73C. 105D. 1065、 IP地址是每个上网的电脑必须的,下列IP 地址中合法的是()A. 225.225. 225.225 B. 200.256.192. 8C. 192.168.1.1. 2 D.0.0.06、下列描述计算机病毒的特性中, ()不是正确

3、的。A、潜伏性 B 、传染性 C 、智能性 D 、危害性7、己知一个栈的入栈顺序是1, 2, 3, n, 其输出序列为P1,P2, P3 , ,pn, 如果 P1 是 n, 则 Pi 是()A、不确定B、 n-i+1C.n-1 D.i8、若设二叉树的深度为h, 除第层外,其它各层( 1?h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。如图1 所示,共有 10 个结点, 5 个叶子结点 , 深度为 4, 13层的结点数都达到了最大个数。那么如果完全二叉树共计39 个点,那么他的叶子结点的数量是()。A.20B.21C. 19D. 239、有一下程序:i

4、nt i, x1, x2, x3, x4, s;for(i=1800;i=2000;i+)x4=i %10;x3=i / 10 %10;x2=i / 100 %10;x1=i / 1000 %10;if (x1=x4) & (x2=x3) then s+;1couts;程序运行结果是():A. 1B.2 C.3D. 1010、哥德巴赫猜想是一个数学界非常有名的猜想,他的意思是任何大于等于4 的偶数都可以表示成为两个质数之和,例如 5=2+3, 8=3+5, 4=2+2。那么把 112 分解成两个质数之和有() 种方法。A. 14B. 16C.18D. 20二、根据要求回答问題:( 2+3+2+

5、3=10 分)1、在数学王国中,数字6 和 8 称吉祥数字,而其他数字都是不怎么吉祥。如果一个整数是吉祥数字,当且仅当它的每一位只能包含吉祥数字。现在让你求出第K 个吉祥数字。例如:前八个吉祥数字为:6,8,66,68,86,88,666,668,第 10 个吉祥数字为。第 29 个吉祥数字为。2、魔术是很神奇的 ! 瞧,泽泽同学最近又迷恋上了一款新的魔术。魔术刚开始前,魔术纸上的 4 个点形成一个完美的正方形(见图2) 。经过 1 次魔法后,在每两个相邻点中心会产生一个新点,并且在每个正方形的正中心也会产生一个新点。经过第1 次的魔法,会产生5 个新点,共有9 个点(见图 3) 。再经过一次

6、魔法(总共2 次魔法 ) ,此时共有25 个点(见图 4) 。现在请你帮助算出, 经过 3次魔法一共有个点,经过7 次魔法一共有个点。三、阅读程序并写出运行结果(4+4+8+8+4+4+8=40 分)1.输出1:#include using namespace std;输入 2:203789int main()输出 2:int n, i, a, b, c, d;2、cinabcd;#include if( ab)a=a / 10;using namespace std;if (dc)int main()coutTime Limit Exceeded;int i, j, n, s, x;else

7、intf101;if (ab)coutn;elsefor(i=1;i=n;i+)if (a=b) coutx;fx=fx+1;输入 1:for(j=x+1;j0)s=s+1;10001007651556couts;12 19 14 17 16 16return 0;输出:输入:3、#include using namespace std;int main()bool f10001;int n, k, i, j, s;cinnk;for(i=2;i=n;i+)if(fi=false)for(j=1;j=n / i)if (fi*j=false)s=s+1;fi*j=true;if(s=k)cou

8、ti*j;return 0;return 0;输入:40 31输出:4.#include using namespace std;int main()int n, m, i, j;char a5151;int b6;cinnm;n= n*5+1;m=m*5+1l;for(i=1;i=n;i+)for(j=1;jaij;for(i=1;i=n;i+)for(j=1;j=m;j+)if (aij!=#) & (i %5=2) & (j %5=2)if (aij= . ) b1=b1+1;else if (aij= * )& (ai+1j=. ) b2+;else if (ai+1j= * )& (

9、ai+2j= . ) b3+;else if (ai+2j = * ) & (ai+3j= . ) b4+;else if (ai+3j=* ) & b5+;for(i=1;i=5;i+)coutbi ;return 0;输入1:12#.#*#.#*#.#*#.#*#输出 1:输入 2:2 4#*#*#*#*#*#.#*#*#.#.#*#*#.#.#.#*#*#*#*#.#*#*#.#.#.#.#.#.#.#.#.#.#输出 2:5.#include using namespace std;int n;int s(int n, int t)if(n=0) return(1);else if (

10、t=0) return s(n-l, t+1);else return s(n-l, t+l)+s(n, t-1);int main()cinn;couts(n, 0);输入:4输出:四、完善程序(根据问題要求和已有程序,在程序空格处填入适当的语句或符号,使程序完整。本题每 3分,共 30分)1.完全数【问题描述】在泽泽参加的“奇思妙想学数学”的思维拓展兴趣课中,老师抛出了一些有趣好玩的数字游戏,取名为“完全数” ,所谓完全数是真约数之和等于它本身的数。例如28 的约数是 1, 2, 4,7, 14, 并且 1+2+4+7+14=28, 所以 28 是完全数。这个游戏对数字特别感兴趣的泽泽来说

11、是“小意思”,因为他认为“完全数”是最美的数字。泽泽不屑于判断单个数是否是完全数,他想找出一段连续数据里面的所有完全数,如求 x? y (2=x=y=10000) 中的完全数。但是他又感觉每个完全数进行正向输出又没有反向输出好看,所以他想把找到的完全数反向输出。当然如果这段数据里面没有完全数就应该输出no。【输入格式】一行:包括两个数,x y 代表求 x? y 之间的完全数。【输出格式】输出可能有多行,每行一个反向输出的完全数。注:如果没有完全数,则还应该输出no 。【输入样例1】2 29【输出样例1】682实现上述功能程序如下, 请在划线处填入合适代码。【程序清单】#include usin

12、g namespace std;int main()int x, y,i,t,w,xx,s,j, sum,p;cinxy;for(i=;i=y;i+)s=1;for(j=2;j0) ;s=s / 10;coutendl;if( w=0);return 0;2. 罗马数字【问题描述】聪明的泽泽经过独立的思考成功地找到了x ? y 中所有的完全数, 他在教室里兴奋得 “一蹦三尺高” ,还不停地攥紧拳头,髙呼“耶。”。这时老师为了让他能够乘胜追击,锦上添花,再次抛出了另一个数学游戏, 叫做 “罗马数字游戏” 。老师先给大家描述这个游戏,游戏中的数字1 ,2,3,4,5,6,7,8,9分别写为 I,

13、II , III, IV , V, VI , VII , VIII , IX ;将数字 10,20,30,40,50,60,70,80,90分别写为 X, XX, XXX, XU, L, LX, LXX, LXXX, XC。那么其余的数字怎么用罗马数字表示呢?另外老师给了大家一点小提示:任何小于100 的数字都可以通过分别转换几十和几个后,结果可以用罗马数字组合在一起。例如,数字 48 转换为 40 加 8, 因为 40可用 XL 表示, 8 可用 VIII表示,所以48 可以组合成XLVIII 。本次游戏将会给你一个用罗马数字表示的数。请同学们重新排列这个字符,目的是找到用罗马数字表示的尽可能小的数字。【输入格式】输入一个整数B (1 B100), 用罗马数字表示的整数。【输出格式】请根据输入的这个罗马数字,重新排列,以便找到最小的用罗马数字表示的整数。【输入祥例1】VII【输出样例1】VII【输入样例2】VI【输出祥例2】IV为实现上述功能请在划线处填上合适代码。【程序清单】#include using namespace std;int i, j, k; char t;string al00;string x, y;void sw(int i, j;for(i=)for(j=i+l;jxj)t=xi ;xi =xj ;xj =t;in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论