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

下载本文档

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

文档简介

第十六届绍兴市少儿信息学竞赛 (C+版 试卷)第十六届绍兴市少儿信息学竞赛初赛试题(小学组C+语言 二小时完成)全部试题答案都要求写在答卷纸上,写在试卷上一律无效一、选择一个正确答案代码(A/B/C/D),填入每題的括号内(每题2分,每题 只有一个正确答案,多选无分。共20分)1、人工智能英文缩写为( )。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。他是计算机科学的一个分支,它企图了解智能 的实质,并生尸出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包 括机器人、语言识别、图像识别、自然语言处理和专家系统等。A. AT B. ALBB C. AM D. AI2、下列存储器按存取速度由快至慢排列,正确的是( )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. 105 D. 1065、IP地址是每个上网的电脑必须的,下列IP地址中合法的是( )A. 225.225. 225.225 B. 200.256.192. 8 C. 192.168.1.1. 2 D.0.0.06、下列描述计算机病毒的特性中,( )不是正确的。A、潜伏性 B、传染性 C、智能性 D、危害性7、己知一个栈的入栈顺序是1, 2, 3, n,其输出序列为P1,P2, P3,pn, 如果P1是n,则Pi是( )A、不确定 B、n-i+1 C.n-1 D.i8、若设二叉树的深度为h,除第层外,其它各层(1h-1)的结点数都达到最大个数, 第h层所有的结点都连续集中在最左边,这就是完全二叉树。如图1所示,共有10个结点,5个叶子结点,深度为4, 13层的结点数都达到了最大个数。那么如果完全二叉树共计39个点,那么他的叶子结点的数量是( )。A.20 B.21 C. 19D. 239、有一下程序: int 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;图1if (x1=x4) & (x2=x3) then s+; couts;程序运行结果是():A. 1 B.2 C.3 D. 1010、哥德巴赫猜想是一个数学界非常有名的猜想,他的意思是任何大于等于4的偶数都可以 表示成为两个质数之和,例如5=2+3, 8=3+5, 4=2+2。那么把112分解成两个质数之和有 ( )种方法。 A. 14 B. 16 C.18 D. 20二、根据要求回答问題:(2+3+2+3=10分)1、在数学王国中,数字6和8称吉祥数字,而其他数字都是不怎么吉祥。如果一个整数是 吉祥数字,当且仅当它的每一位只能包含吉祥数字。现在让你求出第K个吉祥数字。例如:前八个吉祥数字为:6,8,66,68,86,88,666,668,第10个吉祥数字为 。第29个吉祥数字为 。2、魔术是很神奇的!瞧,泽泽同学最近又迷恋上了一款新的魔术。魔术刚开始前,魔术纸上 的4个点形成一个完美的正方形(见图2)。经过1次魔法后,在每两个相邻点中心会产生一个新点,并且在每个正方形的正中心也会产生一个新点。经过第1次的魔法,会产生5 个新点,共有9个点(见图3)。再经过一次魔法(总共2次魔法),此时共有25个点(见图4) 。现在请你帮助算出,经过3次魔法一共有 个点,经过7次魔法一共有 个点。三、阅读程序并写出运行结果(4+4+8+8+4+4+8=40分)批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院(2018年4月)1.#include using namespace std;int main() int n, i, a, b, c, d; cinabcd; if( ab) a=a / 10; if (dc) coutTime Limit Exceeded; else if (ab) coutWrong Answer; else if (a=b) coutAccepted; return 0; 输入1:1000 100 765 155 输出1:输入2:20 37 8 9 输出2: 2、#include using namespace std;int main() int i, j, n, s, x; int f101; cinn; for(i=1;ix; fx=fx+1; for(j=x+1;j0) s=s+1; couts; return 0;输入:612 19 14 17 16 16 输出: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) couti*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= *)& (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:1 2#.#*#.#*#.#*#.#*#输出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 (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是完全数。这个游戏对数字特别感兴趣的泽泽来说是“小意思”,因为他认为“完全数”是最美的数字。泽泽不屑于判断单个数是否是完全数,他想找出一段连续数据里面的所有完全数,如求xy (2=x=y=10000)中的完全数。但是他又感觉每个完全数进行正向输出又没有反向输出好看,所以他想把找到的完 全数反向输出。当然如果这段数据里面没有完全数就应该输出no。【输入格式】一行:包括两个数,x y代表求xy之间的完全数。【输出格式】输出可能有多行,每行一个反向输出的完全数。注:如果没有完全数,则还应该输出 no。【输入样例1】2 29【输出样例1】682实现上述功能程序如下,请在划线处填入合适代码。【程序清单】#include using 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.罗马数字【问题描述】 聪明的泽泽经过独立的思考成功地找到了 xy中所有的完全数,他在教室里兴奋得“一蹦三尺高”,还不停地攥紧拳头,髙呼“耶。”。这时老师为了让他能够乘胜追击,锦上添 花,再次抛出了另一个数学游戏,叫做“罗马数字游戏”。老师先给大家描述这个游戏,游戏中的数字 1,2,3,4,5,6,7,8,9 分别写为I, 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 (1B100),用罗马数字表示的整数。【输出格式】请根据输入的这个罗马数字,重新排列,以便找到最小的用罗马数字表示的整数。 【输入祥例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 =

温馨提示

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

评论

0/150

提交评论