乐于分享
好东西不私藏

【最新试卷】2026年7月11日信息素养大赛C++初中组复赛真题浙江赛区

【最新试卷】2026年7月11日信息素养大赛C++初中组复赛真题浙江赛区

今天刚刚考完的同学截图给我试卷,选择题部分是按照截图提取,编程题是由小编根据截图编写完善,总体来说,试卷还是特别简单,但是得满分还不是特别容易的,期待同学们的好成绩。

截图原稿:

2026年信息素养大赛C++初中组复赛真题

浙江赛区

.单选题(共5题,10分)

1.丝路商队用数组goods记录货箱的货物价值,以下代码记录了部分货箱的价值,下面程序的输出结果是?()

int goods[6] = {5, 8, 3};

goods[3]=10;

goods[1]=goods[0]+2;

cout<< goods[1]<<""<< goods[3]<<""<< goods[4];

A.710随机值

B.7100

C.8100

D.10100

2.丝路商队在穿越荒漠时,每次行进会消耗2份补给。变量x表示当前剩余补给数量,变量cnt表示补给消耗次数。下面程序的输出结果是?()

intx=5,cnt=0;

while(x>0){

x=x-2;

cnt++;

}

cout<<cnt;

A.1

B.2

C.3

D.4

3.敦煌莫高窟数字展厅中,有一块3x3的壁画区域,其各位置上的编号被存储在一个二维数组a中。程序需要统计该数组左下三角区域(含主对角线)的所有编号之和。以下程序执行后,输出结果是?()

int a[3]3]={{1,2,3},{4,5,6},{7,8,9}};

int sum=0;

for (int i=0;i<3;i++){

for (intj=0:j<=i;j++){

sum+=a[i][j];

}

}

cout<<sum;

A.45

B.15

C.19

D.34

4.某支从长安出发的丝路商队在8个驿站进行了驼队数量(单位:支)的清点,并将清点结果记录在数组a中。商队管事想统计哪种规模的驼队出现得最频繁,以便规划下次出行的随行规模。下面程序的输出结果是?()

int main(){

int a[8]={5,2,8,5,2,5,8,2};

int c[10]={0};

for (int i=0;i<8;i++){

c[a[i]]++;

}

int m=0,v=0;

for (int i=0;i<10;it+){

if(c[i]>m){

m=c[i];

v=i;

}

}

cout<<v<<" "<<m;

return 0;

}

A.5 2

B.2 3

C.5 3

D.8 2

5.丝绸之路上的驿站采用“接力传递”的方式运送物资。下面代码模拟了该运送过程,该代码的输出结果是?()

int schedule(int n)

{

inti;

if(n<=5)returnn;

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

if (schedule(n -i)<0)

returni;

return -1;

}

int main()

{

int n=16;

cout<< schedule(n)<< endl;

return O;

}

A.-1

B.2

C.3

D.4

.多选题。

6.丝路货物管理系统需要使用数组记录货箱重量、瓷器破损数量、驿站编号等数据。以下关于数组的描述,正确的有?()

A.定义数组时,数组长度通常使用常量表达式

B.在C++中,可以将一个数组直接赋值给另一个同类型的数组,例如下面代码中的复制数组操作是合法的 

int a[5]={1,2,3,4,5};

int b[5]=a;

C.整型数组可以在定义时用花括号初始化,未指定初值的元素会自动初始化为0

D.数组下标从0开始,访问越界可能导致运行时错误

7.丝路贷物系统需要灯商品编亏、瓮器预率、驿跖优无级数据进行排予。下列天于排予稳定性的况法,正确的是?

A.快速排序是稳定的

B.选择排序是不稳定的

C.插入排序是不稳定的

D.冒泡排序是稳定的

8.丝路商队穿越茫茫大漠,沿途设有编号1至100的驿站。某日,商队管事需在驿站中寻找一处藏有补给的目标站点。为提高效率,管事采用"二分查找”的策略:每次查看当前范围正中间的驿站,若编号偏小则往后半段找,若编号偏大则往前半段找,直到找到目标。下面程序模拟了这一过程,请根据程序选择正确的选项?()

int main(){

int t,cnt=0;

cin>>t;

int l=1,r=100,mid;

while (true){

cnt++:

mid=(l+r)/2;

if (mid ==t){

cout << cnt;

break;

}

else if (mid<t)l=mid +1;

elser=mid-1;

}

return O;

}

A 当目标驿站编号t=1时,程序输出7

B 当目标驿站编号t=64时,程序输出7

C输入一个1~100的驿站编号,该算法最多查找7次必能找到目标驿站

D假设驿站编号为1至1000,将程序中r的初始化值修改为1000,然后再输入一个1~-1000的驿站编号,该算法最多查找11次必能找到目标驿站

9.丝路贸易账本中可能出现非常大的金额数据,普通整数类型无法保存,需要使用高精度算法处理。两个大数以字符串形式输入并存储在s1、s2中,然后需要转换为整数存入整型数组a、b中,然后进行计算,并将计算结果存入整型数组c中。以下关于高精度乘法的说法正确的有?()

A.需要将两个字符串倒序存储在整型数组中,例如将s1倒序存入数组a:int lena= s1.length();

for (int i=0;i<=lena-1;i++){

a[i]=s1[lena-1-i]-0;

}

B.处理数组c进位时下面代码能获得正确结果

for (int i=0;i<=lenc-1;i++){

c[i+1]=c[i+1]+c[i]%10;

c[i]=c[i]/10;

}

C.下面代码能去掉数组c的前导零,得到正确的lenc,已知lenc指的是数组c的当前长度:

while(c[lenc-1]==0&&lenc>1)

{

lenc--;

}

D.模拟乘法时,下面代码能使得数组c保仔止调计算结果:

for (inti=0;i<=lena-1;i++)

{

for (intj=0:j<=lenb-1;jt+){

c[i+j]=a[i]*b[j];

}

}

10.长安城商人王掌柜收到来自6个西域国家的货物,重量记录在数组weights中,每件货物重量大于0,且6个货物的重量不相同。王掌柜想知道最重和次重的货物重量,以便决定将最重的作为“样品”展示,次重的作为”备用样品"。以下程序段可以正确求出最重重量(max1)和次重重量(max2)的有?()

A.

int max1 = weights[0], max2 = weights[0];

for(int i=1;i<6:i++){

if(weights[i]>max1)

max2=max1;

max1=weights[i];

}else if(weights[il>=max2){

max2=weights[i];

}

}

B.

int max1 = weightsi0], max2 = weights[1];

if(max1<max2) swap(max1, max2);

for(int i=2;i<6:i++){

if(weights[i]>max1){

max2=max1;

max1=weights[i];

}else if(weights[il>=max2){

max2=weights[i];

}

}

C.int max1 = weights[0],max2 = weights[0];

for (inti=1;i<6:i++){

if(weights[i]>max1) max1=weights[i];

if (weights[i]>max2 && weights[i]!= max1) max2= weights[il;

}

D.

int max1=0,max2=0;

for (int i=0;i<6;i++){

if(weights[i] > max1){

max1=weights[i];

}

}

for (int i=0;i<6;i++){

if(weights[i)>max2&weights[i]!=max1){

max2=weights[i];

}

}

.编程题。

11.丝绸之路远行商队采购了总重 W 千克的粮食,要分装成每袋净重固定为 K 千克的标准粮袋方便驼队运输。请依次完成三项计算:

(1)最多能分装出多少袋完整、装满的标准粮袋;

(2)所有标准粮袋分装完成后,剩下的粮食重量;

(3)若存在剩余粮食,需要单独准备 1 个小型布袋存放余量;若无剩余则无需额外袋子,计算本次分装一共需要准备多少个袋子。

输入格式

仅一行,输入两个用空格隔开的正整数W,K。 数据范围:1 <=<=10000,1<=K<=10000)

W:粮食总重量(千克)

K:单个标准粮袋的额定装载重量(千克)

输出格式

一共输出三行,每行仅输出 1 个整数,输出顺序严格对应题目三个计算要求: 

 1 行:装满的标准粮袋数量 

 2 行:分装后剩余粮食重量 

 3 行:分装所需全部袋子总数

样例1

输入:

100 30

输出:

3

10

4

样例解释:总粮食 100 千克,每标准袋装 30 千克。

100/30 = 3,最多装满 整袋;

100 - 3*0 = 10,剩余 10 千克粮食;

有剩余粮食,额外加 1 个小袋子,总袋子 3+1=4

参参考程序:

12.(15 分)驼队行进顺序编号筛选

题目描述

丝绸之路驿站迎来一队骆驼,所有骆驼的编号是一段连续整数,编号区间为([L, R])(包含起点 L 和终点 R)。 驿站通行规则:编号个位数字为2、4、8 的骆驼可以优先通行,其余骆驼原地等候。请你按照从小到大的顺序,输出区间内所有满足优先通行条件的骆驼编号;若区间内没有符合条件的编号,则单独输出None

输入格式

仅一行,输入两个用空格隔开的正整数(L、R)。 数据范围:(1<=L<=R<=999)

·L:骆驼编号区间左边界

·R:骆驼编号区间右边界

输出格式

如果存在符合条件的编号:在同一行输出全部编号,数字之间用单个空格分隔;

如果不存在符合条件的编号:仅输出单词None,无多余字符。

样例1

输入:

10 20

输出:

12 14 18

样例解释:遍历10~20 所有编号,筛选个位为 2、4、8 的数字,分别是 12、14、18,按升序空格输出。

参考程序:

13.20分)藻井纹样的米字矩阵

题目描述

敦煌莫高窟的藻井拥有精美对称的米字纹样。现给定一个奇数整数n,代表正方形纹样矩阵的边长。

请绘制一个n×n的字符矩阵,绘制规则:

矩阵中满足以下任意一种位置条件的字符输出*,其余位置全部输出.

(1)位于矩阵中间一行

(2)位于矩阵中间一列

(3)位于主对角线(行号= 列号)

(4)位于副对角线(行号+ 列号 = n−1)

以上四条线条组合为完整米字纹样,严格按照规则输出图案。

输入格式

输入一个奇数整数n

数据范围:3<=n<=19,保证输入一定为奇数。

输出格式

输出n行,每行严格包含n个字符(仅*.),无空格、无多余字符、无空行。

样例输入

5

样例输出

*.*.* 

.***. 

***** 

.***. 

*.*.* 

样例解释

n=5 时,矩阵中心行、中心列为第3行、第3列;叠加主对角线、副对角线后,形成标准米字花纹,完全匹配输出图案。

参考程序:

14.20分)绿洲灌溉序列优化

题目描述

沙漠绿洲中有n块农田水平排成一行,每块农田都有固定的需水量,用数组a1,a2...an表示。

现有一条智能水渠可以进行灌溉操作:每次操作可以选择任意一段连续农田,给区间内每一块农田增加1 单位水量

初始所有农田水量为0,请问至少需要多少次灌溉操作,能让所有农田的水量大于等于自身需水量,实现全部达标?

输入格式

第一行:一个整数n,代表农田数量。

第二行:n个空格分隔的整数,代表每块农田的需水量。

数据范围:1<=n<=1000,1<=ai<=100.

输出格式

输出一个整数,代表达标所需的最少灌溉次数

样例输入1

3

1 2 1

样例输出1

2

样例解释1

1次整体灌溉全部农田,三块农田水量均为1,满足第1、3块农田需求;

2次单独灌溉中间农田,中间水量变为2,全部达标;

总计最少操作次数为2 次。

参考程序:

完整试卷:

通过网盘分享的文件:2026年7月11日C++初中

链接: https://pan.baidu.com/s/1M4uc6RIQcUssz7aQ5YTDWw 提取码: hijg 

--来自百度网盘超级会员v8的分享