蓝桥等考C++组别
十五
级
第一部分:选择题
1、
C++ L15 (
15
分)
将二进制数
01101001
转
换
成十进制,结果是( )。
A
. 104
B. 105
C. 106
D. 107
正确答案:B
2
、C++ L15 (
15
分)
将(
9C
)
16
转换成二进制,结果是( )。
A
.
(
10011010
)
2
B.
(
10011110
)
2
C.
(
10011100
)
2
D.
(
10010110
)
2
正确答案:
C
3
、C++ L15 (20分)
将(
903
)
1
0
+
(1
0100011
)
2
的和转换成八进制,结果是( )。
A
.
(
2052
)
8
B.
(
2051
)
8
C.
(
2053
)
8
D.
(
2054
)
8
正确答案:
A
第二部分:编程题
4、
C++ L15
四
进制转换为十进制(
2
0分)
题目名称:
四
进制
转换为十进制
题目描述:
输入一个四进制正整数,将其转换成十进制数。
输入:
一个
四
进制正整数(位数不超过10位)
。
输出:
共
1
行,为一个正整数,表示将输入转换成十进制数的结果。
输入样例:
213
输出样例:
39
参考程序:
#include<iostream>
#include<cstring>
using namespace std;
const int N = 10;
char n4[N + 1];
int main()
{
int n = 0;
cin >> n4;
for (int i = 0; n4[i] != 0; i++)
{
n = n * 4 + n4[i] - '0';
}
cout << n;
return 0;
}
测试数据:
1.in
213
1.out
39
2.in
333
2.out
63
3.in
122211
3.out
1701
4.in
13131032
4.out
30542
5.in
100130311
5.out
67381
5、
C++ L15
十进制转换为十
二
进制(
3
0分)
题目名称:
十进制转换为十二进制
题目描述:
输入一个十进制正整数,将其转换成十二进制数。
十二进制数的数码有:0,1,2,3,
4
,
5
,6,7,8,9,A(表示1
0
)
, B
(表示1
1
)
输入:
1
行,为一个十进制正整数(不超过
1
00,000
)。
输出:
仅1
行,
为
转换
后的
十二进制数。
注意:
1.
1
0
的
十
二
进制数
用
大写字母
A
表示。
2.
1
1
的
十
二
进制数
用
大写字母
B
表示。
输入样例:
22
输出样例:
1A
参考程序:
#include<iostream>
#include<cstring>
using namespace std;
const int N = 100;
char n12[N + 1];
int main()
{
int n, pos = 0;
cin >> n;
for (int i = n; i > 0; i /= 12)
{
int r = i % 12;
if (r > 9)
n12[pos] = r - 10 + 'A';
else
n12[pos] = r + '0';
pos++;
}
for (int i = pos - 1; i >= 0; i--)
{
cout << n12[i];
}
return 0;
}
测试数据:
1.in
22
1.out
1A
2.in
8
2.out
8
3.in
40779
3.out
1B723
4.in
11595
4.out
6863
5.in
9873
5.out
5869
蓝桥杯青少组C++组别15级编程练习真题(第5套,共6套)