2022年C++国赛试卷

C++ 60分钟 总分 100.0 10 题
试卷题目预览
第1题 初级 10.0分 单选
表达式  4%12 的结果是(   )。
A. 0
B. 3
C. 4
D. 12
第2题 初级 10.0分 单选
在 C++ 语言中,int 类型的变量 a、b、c 的值分别为 4、8、12,以下表达式的值为真的是(  )。
A. a + b > c
B. b - a == a
C. c / a == b / a
D. a * 2 > c
第3题 初级 10.0分 单选
下列while语句中, 功能相同的是(   )。
A. 若x=1,while(x)与while(x != 1)
B. 若x=0,while(x == 0)与while(!x)
C. 若x=-1,while(x)与while(x > 0)
D. 若x=5,while(x
第4题 初级 10.0分 单选
下列选项中,逻辑表达式的值始终与 B的真假无关的是(    )。
A. (!A || B) && A
B. (A || B) && (!A && B)
C. (A && !A)||B
D. (A || B) && (A || !B)
第5题 初级 10.0分 单选
在C++中,(char)('a’+13)与下面的哪一个值相等(  )?
A. 'm
B. 'n’
C. 'z'
D. '3'
第6题 初级 10.0分 编程
看书

一本书共n页,小明计划第一天看x页,此后每一天都要比前一天多看 y页,请问小明几天可以看完这本书?
输入描述:
一行输入三个整数n,x,y(20输出描述:
输出一个整数,表示小明几天可以看完这本书?

【样例】
100 10 5
【样例解释】
5
第7题 初级 10.0分 编程
考拉兹猜想

考拉兹猜想,也称为角谷猜想或冰雹猜想。是指对于任意正整数N,若N为偶数,则将N除以2;若N为奇数,则将N乘以3再加1,如此循环,最终都能够得到1,现给定一个正整数N,按照上述步骤,请计算出N要经过多少步才能变成1。
例如:N=5,变成1的步骤如下:
1、 5x3+1=16
2、 16÷2=8
3、 8÷2 =4
4、 4÷2 =2
5、 2÷2=1
共经过5步就得到1,故输出5。
输入描述:
输入一个正整数N(0输出描述
输出一个整数,表示N要经过多少步才能变成1。

【样例】
456789
999999
【样例解释】
55
258
第8题 初级 10.0分 编程
金币数量

小明设计了一款闯关小游戏。玩家每通过一关,可以获得若干金币。通过第一关可获得1枚金币,通过第二关可获得3枚金币,通过第三关可获得6枚金币通过第四关可获得10枚金币,通过第五关可获得15枚金币.
假定玩家总共通过了N关。
请总结玩家每一关获得金币的规律,并根据规律计算出他一共可获得多少枚金币?
输入描述:
输入一个正整数N(1≤N≤5x10^6),表示通过的关数。
输出描述
输出一个整数,表示通过N关之后总共可获得的金币数量。

【样例】
55
5
13245
【样例解释】
29260
35
387349499615
第9题 初级 10.0分 编程
出现奇数次的数

奇数:指不能被 2整除的整数。
例如:3、5是奇数;4、6不是奇数。
给定 n个整数,其中只有一个数出现了奇数次,请找出这个数。
例如:77个整数为 6、2、4、6、4、2、6,其中只有6 出现了奇数次故输出6。
输入格式
第一行输入一个整数n(1≤n≤10^5)
第二行输入 n个整数(1≤整数≤10^9) 整数之间以一个空格隔开数据保证只有一个数出现了奇数次)
输出格式
输出一个整数,表示出现了奇数次的数

【样例】
7
6 2 4 6 4 2 6
【样例解释】
6
第10题 初级 10.0分 编程
回文数

给定两个整数n,m,请统计n到m之间(包含n和m)有多少个包含数字7的回文数。
例如:n=6,m=80,6到80之间的回文数有6、7、8、9、11、22、33、44、55、66、77,其中有2个回文数包含7(7和77)
输入描述:
一行输入两个整数n和m(1<=n<=m<=100000),整数之间以一个空格隔开;
输出描述:
输出一个整数,表示n到m之间(包含n和m)包含数字7的回文数个数

【输入格式】
6 80
【输出格式】
2
💬