第十五届蓝桥杯省赛 c++中级组
第一题:选择题第一题:选择题
选择题严禁使用程序验证,选择题不答或答错都不扣分
1、定义 char a[] = "hello\nworld",执行 cout << a,输出结果是( )。
A.
B.
C.
D.
2、 的结果是 ( )。
A.
B.
C.
D.
3、表达式 4%12的结果是 ( )。
A. 0
B. 4
C. 3
D. 12
4、下列选项中,逻辑表达式的值始终与 B的真假无关的是 ( )。
A. (!A || B)&&A
B. (A || B) &&(!A && B)
C. (A && !A) || B
D. (A || B) && (A || !B)
helloworld1
hello
world
1
2
hellonworld1
hello\nworld1
(11001010)+2(F8)16
(111000011)2
(701)8
(1C2)16
(452)10)
(
5、运行下面的程序,输出结果是 ( )。
A. 196
B. 197
C. 198
D. 199
第二题:读书第二题:读书
题目描述
一本书共 页,小明计划第一天看 页,此后每一天都要比前一天多看 页,请问小明几天可以看完这本书 ?
输入格式
一行输入三个整数 , ,分别表示书的总页数、计划第一天看的页数以及此后每天都要比
前一天多看的页数,整数之间以一个空格隔开
输出格式
输出一个整数,表示小明几天可以看完这本书
样例输入
样例输出
评分标准
4分:能正确输出第一组数据;
4分:能正确输出第二组数据;
4分:能正确输出第三组数据;
4分:能正确输出第四组数据;
4分:能正确输出第五组数据
int a[6]={16,8,32,10,9,21};
intfunc(int L,int R,int d)
{
if(L > R)
return0;
int sum =0, m = a[L], index = L;
for(int i = L +1; i <= R; i++)
{
if(m < a[i])
{
m = a[i];
index = i;
}
}
int lt =func(L, index -1, d +1);
int rt =func(index +1, R, d +1);
return lt + rt + d * m;
}
intmain()
{
cout<<func(0,5,1);
return0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
n x y
n,x,y(20≤n≤5000)1≤x,y≤20)
1001051
51
第三题:数字交换第三题:数字交换
题目描述
前导 :整数前对数值无影响的 。
例如:
a. 去除前导 后为 ;
b. 去除前导 后为 。
给定一个正整数 ,请将 n的最高位与最低位的数字进行交换,并输出交换后的结果。如果交换后的结果有前导 ,去除前导 后再输出结
果。
例 1: ,将 的最高位 与最低位 交换,交换后的结果为 ;
例 2: ,将 的最高位 与最低位 交换,交换后的结果为 ,结果有前导 ,去除前导 后的结果为 。
输入格式
输入一个正整数 ( )
输出格式
输出一个整数,表示将 的最高位与最低位的数字交换后的结果如果交换后的结
蓝桥杯青少组第十五届蓝桥杯省赛c++中级组第十五届蓝桥杯青少组省赛c++中级组真题试卷