蓝桥等考C++组别
十五
级
第一部分:选择题
1、
C++ L15 (
15
分)
将二进制数0
0101011
转成1
0
进制,结果是( )。
A
. 27
B. 42
C. 43
D. 75
正确答案:C
2
、C++ L15 (
15
分)
将(
3A
)
16
转换成二进制,结果是()。
A
.
(
00111010
)
2
B.
(
01110100
)
2
C.
(
11010100
)
2
D.
(
01101010
)
2
正确答案:
A
3
、C++ L15 (20分)
将(
1075
)
1
0
+
(1
100110
)
2
的和转换成
8
进制,结果是( )。
A
.
(
1177
)
8
B.
(
3061
)
8
C.
(
2304
)
8
D.
(
2231
)
8
正确答案:D
第二部分:编程题
4、
C++ L15
二进制转换为十进制(
2
0分)
题目名称:二进制
转换为十进制
题目描述:
输入一个二进制正整数,将其转换成十进制数。
输入:
一个二进制正整数(位数不超过10位)
。
输出:
共
1
行,为一个正整数,表示将输入转换成十进制数的结果。
输入样例:
101
输出样例:
5
参考程序:
#include<iostream>
#include<cstring>
using namespace std;
const int N = 10;
char n2[N + 1];
int main()
{
int n = 0;
cin >> n2;
for (int i = 0; n2[i] != 0; i++)
{
n = n * 2 + n2[i] - '0';
}
cout << n;
return 0;
}
测试数据:
1.in
101
1.out
5
2.in
1010
2.out
10
3.in
110101
3.out
53
4.in
11111000
4.out
248
5.in
110011
5.out
51
5、
C++ L15
十进制转换为十一进制(
3
0分)
题目名称:
十进制转换为十一进制
题目描述:
输入一个十进制正整数,将其转换成十一进制数。
十一进制数的数码有:0,1,2,3,
4
,
5
,6,7,8,9,A(大写,表示1
0
)
输入:
1
行,为一个十进制正整数(不超过
1
00000
)。
输出:
共
1
行,包含一个字符串,表示将输入转换成十一进制数的结果,字符串中间没有空格。
注意:
1
0
的
十一进制数
用
大写字母
A
表示。
输入样例:
20
输出样例:
19
参考程序:
#include<iostream>
#include<cstring>
using namespace std;
const int N = 100;
char n11[N + 1];
int main()
{
int n, pos = 0;
cin >> n;
for (int i = n; i > 0; i /= 11)
{
int r = i % 11;
if (r > 9)
n11[pos] = r - 10 + 'A';
else
n11[pos] = r + '0';
pos++;
}
for (int i = pos - 1; i >= 0; i--)
{
cout << n11[i];
}
return 0;
}
测试数据:
1.in
20
1.out
19
2.in
9
2.out
9
3.in
58380
3.out
3A953
4.in
33404
4.out
23108
5.in
27844
5.out
19A13
蓝桥杯青少组C++组别15级编程练习真题(第1套,共6套)