2025年06月全国青少年信息素养大赛C++算法创意实践挑战赛初中组初赛试卷(宁夏)

标签:
普通文字版
2025-07-06
| 4页
| 421人阅读
| 67人下载

内容正文:

2025年全国青少年信息素养大赛 算法创意实践挑战赛初中组初赛(宁夏) 一:单项选择题 1、执行以下代码,输出的结果是?( ) int y = 25; if(y % 2 != 0) cout << y; (5 分) A.0 B.y C.25 D.1 2、以下关于变量定义的C++语句中存在编译错误的是哪项?( )(5 分) A. int a = 27, b[10], c[3][3]; B.int x, y, z = 10, 11, 12; C.bool f = false; D.long long pi = 3.14; 3、以下哪项是C++中合法的变量名?( )(5 分) A.num_1 B.1num C.@num D.num#1 4、执行下列代码,输入"hello world"(不带引号),输出结果为?( ) string s; cin >> s; cout << s; (5 分) A. 空字符串 B.world C.hello D.hello world 5、在C++中,以下哪条语句可以正确输出“Hello, World!”?( )(5 分) A.include("Hello, World!"); B.cin >> "Hello, World!"; C.print("Hello, World!") D.cout << "Hello, World!"; 6、输入一个 DNA 序列:由字符 A、C、G 和 T 组成的字符串。补充下列代码找到最长的连续相同字符子串。下列选项中哪一项正确?( ) string s; cin>> s; int len =__①__, ans = 1; for(int i =__②__; i < s.size(); i++) { if (s[i] == s[__③__]) len++; else len = 1; if (__④__) ans = len; } cout<< ans;(5 分) A.0, 0, i + 1, len < ans B.1, 1, i - 1, len > ans C.1, 1, i - 1, len < ans D.0, 0, i + 1, len > ans 7、补全以下代码,将数组a按升序排列。下列选项中哪一项正确?( ) int a[7] = {7, 1, 4, 2, 2, 3, 6}; int N = 7; for (int i = 0; i < N - 1; i++) { for (int j = 0; j < __①__; j++) { if (a[j] > a[j + 1]) swap(a[j], a[j + 1]); } } (5 分) A. N - i - 1 B.i - 1 C.N D.i 8、执行下列C++代码 struct S { double d; int i; }; S s[2] = {{1.5, 1}, {2.5, 2}}; 后,计算 s[0].d + s[1].i,结果是多少?( )(5 分) A.3.5 B.3 C.4 D.4.5 9、执行下列C++代码后输出的是?( ) #include <iostream> using namespace std; int solve (int a, int b, int m) { for (int x = 0; x < m; x++) { if ((a * x) % m == b) return x; } return -1; int main() { cout << solve(3, 2, 5); return 0; }(5 分) A.3 B.4 C.2 D.1 10执行C++代码string arr[4] = {"89", "1234", "xyz", "abcde"}; 后,计算arr[3].length() + stoi(arr[1].substr(1)),结果是多少?( ) 提示:其中 stoi 函数用于将字符串转换为整数,例如 stoi("314") 返回整数 314。(5 分) A.239 B.237 C.94 D.92 11、 补全下列代码, 计算 image.png的阶乘中后缀 0 的个数。下列选项中哪一项正确?( ) 例如 5! = 1 * 2 * 3 * 4 * 5 = 120, 它有 1 个后缀0 20! =2432902008176640000,它有 4 个后缀0。 提示: n!中每个后缀 0 都是由一个因子 2 和一个因子 5 相乘得到的,而在阶乘中因子 2 的个数远多于因子 5 的个数,因此只需统计因子 5 的个数。 一个 5 的倍数可以提供至少 1 个因子 5; 一个 25 的倍数可以提供至少 2 个因子 5; 一个 125 的倍数可以提供至少 3 个因子 5; 以此类推。 int n, i =__①__, ans = 0; cin >> n; while (__②__){ i*= 5; ans+=__③__; } cout << ans; (5 分) A.1, i <= n / 5, n / i B.5, i <= n, i C.5, i < n, i D.1, i < n / 5, n / i 12、 有n个人,第i个人的当前头发长度为image.png。 每个人的头发每天增长1。请计算并输出从第一天开始,第一次出现头发长度至少为 t 的人数 >= p 是第几天?( ) int n, t, p, L[100], cnt; cin >> n >> t >> p; for (int i = 0; i < n; i++) cin >> L[i]; for (int i = 1; i < t; i++) { cnt = 0; for (int j = 0; j < n; j++) { if (__①__) cnt++; } if (__②__) { cout << i << endl; break; } } A.L[i] + j >= t, cnt >= p B.L[j] + i > t, cnt > p C.L[i] + j > t, cnt > p D.L[j] + i >= t , cnt >= p 13、 输入一个整数n,然后输入n - 1个整数。这些整数是从 1 到 n 之间的所有整数,但缺少了其中一个。请补全以下代码,找到缺失的那个整数。下列选项中哪一项正确?( ) int n, x; cin>> n; int ans = __①__; for (int i = 1; i < n; i++) { cin >> x; ans +=__②__; } cout<< ans;(5 分) A. n, x - i B.0, x - i C.n, i - x D.0, i - x 14、 给定一个包含 n 个整数的数组,你的目标是通过最少的操作使数组变为非递减的(即每个元素不小于它前面的元素)。每次操作可以选择任意一个元素,并将其值增加1。请补全以下代码,计算需要的最少操作次数。下列选项中哪一项正确?( ) #include<iostream> using namespace std; int a[1000]; int main() { int n, cnt = 0; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 1; i < n; i++) { if (a[i - 1] > a[i]) { cnt += __①__; __②__; } } cout << cnt; return 0; } A.a[i - 1] - a[i], a[i] += a[i - 1] B.a[i] - a[i - 1], a[i - 1] = a[i] C.a[i - 1] - a[i], a[i] = a[i - 1] D.a[i] - a[i - 1], a[i - 1] -= a[i] 15、 有n个荷叶排列成一行,从左到右编号为1到n。Alice和Bob是两只青蛙,初始时分别位于a号和b号荷叶上。他们轮流跳跃,Alice先跳。 每次跳跃时,只要目标荷叶存在且未被对方占据,青蛙就可以选择向左或向右跳一格。 例如: 如果Alice在荷叶3,她可以跳到荷叶2或荷叶4(如果这些荷叶存在且未被Bob占据)。 需要注意的是: 青蛙必须跳跃,不能停留在原地。 两只青蛙不能占据同一个荷叶。 如果某只青蛙无法进行有效跳跃,它将输掉游戏,另一只青蛙获胜。 给定n、a和b,补全以下代码,输出获胜者。下列选项中哪一项正确?( ) int n, a, b; cin>> n >> a >> b; if (__①__) cout << "Alice"; else cout << "Bob";(5 分) A.abs(n - (a - b)) % 2 != 0 B.abs(a - b) % 2 != 0 C.abs(n - (a - b)) % 2 == 0 D.abs(a - b) % 2 == 0 二:判断题 17string s = "bcd"; s[0] = 'a';可以正确将s的第一个字符赋值为'a'。( )(5 分) 正确 错误 18、max(1, max(2, 3))是合法的表达式,返回值为3。( )(5 分) 正确 错误 19、 二维数组int a[2][3],则数组a一共有6个元素。( )(5 分) 正确 错误 20、 定义int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; 后,执行 swap(a[1][2], a[2][2]); 可以正常运行,并且执行 cout << a[2][2]; 时,程序会输出 6。( )(5 分) 正确 错误 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

2025年06月全国青少年信息素养大赛C++算法创意实践挑战赛初中组初赛试卷(宁夏)
1
2025年06月全国青少年信息素养大赛C++算法创意实践挑战赛初中组初赛试卷(宁夏)
2
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。