2018第十六届绍兴市少儿信息学竞赛初赛试题(c++)

发布时间 : 星期五 文章2018第十六届绍兴市少儿信息学竞赛初赛试题(c++)更新完毕开始阅读

第十六届绍兴市少儿信息学竞赛

初赛试题

(小学组C++语言 二小时完成)

●●全部试题答案都要求写在答卷纸上,写在试卷上一律无效●●

一、选择一个正确答案代码(A/B/C/D),填入每題的括号内(每题2分,每题 只有一个正确答案,多选无分。共20分)

1、人工智能英文缩写为( )。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。他是计算机科学的一个分支,它企图了解智能 的实质,并生尸出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包 括机器人、语言识别、图像识别、自然语言处理和专家系统等。

A. AT B. ALBB C. AM D. AI

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. 72 B. 73 C. 105 D. 106

5、IP地址是每个上网的电脑必须的,下列IP地址中合法的是( )

A. 225.225. 225.225 B. 200.256.192. 8 C. 192.168.1.1. 2 D.0.0.0 6、下列描述计算机病毒的特性中,( )不是正确的。 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.i

8、若设二叉树的深度为h,除第层外,其它各层(1?h-1)的结点数都达到最大个数, 第h层所有的结点都连续集中在最左边,这就是完全二叉树。如图1所示,共有10个结点,5个叶子结点,深度为4, 1~3层的结点数都达到了最大个数。那么如果完全二叉树共计39个点,那么他的叶子结点的数量是( )。 A.20 B.21 C. 19 D. 23 9、有一下程序:

int i, x1, x2, x3, x4, s; for(i=1800;i<=2000;i++){ x4=i % 10; x3=i / 10 ; x2=i / 100 ; x1=i / 1000 ;

if ((x1==x4) && (x2==x3)) then s++;

图1 }

cout<

程序运行结果是( ): A. 1 B.2 C.3 D. 10

10、哥德巴赫猜想是一个数学界非常有名的猜想,他的意思是任何大于等于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分)

20 37 8 9 1.

输出2: #include

2、 using namespace std;

int main(){ #include

int n, i, a, b, c, d; using namespace std; cin>>a>>b>>c>>d; int main(){

if( a>b) a=a / 10; int i, j, n, s, x; if (d>c) int f[101]; cout<<\ else cin>>n;

if (a>x; if (a==b) cout<<\; f[x]=f[x]+1; return 0; for(j=x+1;j<=100;j++) } if (f[j]>0) s=s+1; } 输入1: cout<

输入:

输入2:

6

12 19 14 17 16 16 3、

#include using namespace std; int main(){

bool f[10001]; int n, k, i, j, s;

cin>>n>>k;

for(i=2;i<=n;i++) if(f[i]==false) for(j=1;j<=n / i) if (f[i*j]==false) {

s=s+1;

f[i*j]=true; if(s==k) {

cout<

输入: 40 31 输出:

4. #include using namespace std; int main(){

int n, m, i, j; char a[51][51]; int b[6]; cin>>n>>m; n= n*5+1; m=m*5+1l;

for(i=1;i<=n;i++) {

for(j=1;j<=m;j++) cin>>a[i][j]; }

for(i=1;i<=n;i++) for(j=1;j<=m;j++)

输出:

if ((a[i][j]!='#')&& (i %5==2) && (j %5==2)) {

if (a[i][j]== ’.’) b[1]=b[1]+1;

else if ((a[i][j]==’*’)&& (a[i+1][j]==’.’)) b[2]++; else if ((a[i+1][j]== ’*’)&& (a[i+2][j]==’.’)) b[3]++; else if ((a[i+2][j] ==’*’)&& (a[i+3][j]==’.’) b[4]++; else if ((a[i+3][j]== ’*’) && b[5]++; }

for(i=1;i<=5;i++)cout<

输入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);

联系合同范文客服:xxxxx#qq.com(#替换为@)