基本信息
文件名称:2025年全国青少年信息素养大赛算法创意实践挑战赛(C++语言)初中组复赛模拟试题(一).docx
文件大小:21.6 KB
总页数:7 页
更新时间:2025-06-19
总字数:约3.63千字
文档摘要

2025年全国青少年信息素养大赛算法创意实践挑战赛

(C++语言)初中组复赛模拟试题(一)

考试时间:90分钟????满分:100分

一、单选题(每题4分,共5题,20分)

1.在C++中,以下哪个是正确的函数声明?

A.?voidfunc(inta,b)?(参数类型缺失)

B.?intfunc(inta,intb)

C.?func(a,b){returna+b;}?(缺少返回类型)

D.?intfunc(inta;intb)?(分号错误)

答案:B

2.C++中,vector容器属于哪个头文件?

A.?iostream

B.?vector

C.?string

D.?algorithm

答案:B

3.以下哪个是C++中用于递归调用的必要条件?

A.必须使用while循环

B.必须有终止条件

C.必须使用全局变量

D.必须使用goto语句

答案:B

4.在C++中,strings=hello;s[0]=H;?的作用是?

A.将字符串s改为Hello

B.报错,因为字符串不可修改

C.将字符串s改为helloH

D.删除字符串s的第一个字符

答案:A

5.以下哪个是C++中用于排序的STL算法?

A.?sort()

B.?find()

C.?reverse()

D.?max_element()

答案:A

二、编程题(每题16分,共5题,80分)

题目:计算阶乘之和

要求:编写一个C++程序,输入一个整数n,计算并输出1!+2!+3!+...+n!的值。

输入示例:

4

输出示例:

33

题目:统计数字出现次数

要求:编写一个C++程序,输入一个整数N和N个整数,统计数字0到9各自出现的次数(忽略其他数字)。

输入示例:

512345067890

输出示例:

0:21:12:13:14:15:16:17:18:19:1

题目:回文数判断

要求:编写一个C++程序,输入一个整数n,判断它是否是回文数(正读和反读相同的数),并输出结果。

输入示例:

121

输出示例:

是回文数

题目:二分查找

要求:编写一个C++程序,输入一个已排序的整数数组arr(长度为N)和一个目标值target,使用二分查找算法输出target在数组中的索引(若不存在则输出-1)。

输入示例:

5135795

输出示例:

2

题目:杨辉三角

要求:编写一个C++程序,输入一个整数n,输出前n行的杨辉三角(每行数字用空格分隔)。

输入示例:

4

输出示例:

1111211331

答案

一、单选题答案

1.B

2.B

3.B

4.A

5.A

二、编程题答案

计算阶乘之和

#includeiostream

usingnamespacestd;

intmain(){

intn;

cinn;

longlongsum=0;

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

longlongfactorial=1;

for(intj=1;j=i;j++){

factorial*=j;

}

sum+=factorial;

}

coutsumendl;

return0;

}

统计数字出现次数

#includeiostream

#includevector

usingnamespacestd;

intmain(){

intN;

cinN;

vectorintcount(10,0);//初始化0~9的计数器为0

for(inti=0;iN;i++){

intnum;

cinnum;

while(num0){

intdigit=num%10;

if(digit=0digit=9){

count[digit]++;

}

num/=10;

}

}

for(inti=0;i10;i++){

co