小学生版 | GESP C++ 拆位/取位 测试题(共 100 分)
姓名: ____________
第一部分:基础知识填空(每题 5 分,共 30 分)
- 要得到一个整数的个位数字,可将该整数对
____
取模。 - 若想获取一个整数的十位数字,需先把这个整数除以
____
,再对结果取模____
。 - 提取一个整数的百位数字,先将该整数除以
____
,然后对得到的商取模____
。 - 对于一个四位数,获取它的千位数字的方法是将这个四位数除以
____
。 - 若要获取一个整数从右往左数第
n
位数字,先把该整数除以____
,再对结果取模____
。 - 拆分整数各个数位时,常常会用到
____
运算符。
第二部分:知识应用填空(每题 10 分,共 70 分)
- 下面的代码是为了获取整数
num1
的个位数字,补全横线处:
int num1 = 123;
int unitsDigit = num1 ____ 10;
- 这段代码要获取整数
num2
的十位数字,补全代码:
int num2 = 456;
int tensDigit = (num2 / ____) ____ 10;
- 以下代码旨在获取整数
num3
的百位数字,补全缺失部分:
int num3 = 789;
int hundredsDigit = (num3 / ____) ____ 10;
- 若要获取四位数
num4
的千位数字,补全下面代码:
int num4 = 2345;
int thousandsDigit = num4 / ____;
- 下面的代码将整数
num5
拆分为个位、十位、百位和千位数字并输出,补全代码:
int num5 = 3456;
int units = num5 % 10;
int tens = (num5 / 10) % 10;
int hundreds = (num5 / ____) % 10;
int thousands = num5 / ____;
cout << "个位: " << units << ", 十位: " << tens << ", 百位: " << hundreds << ", 千位: " << thousands << endl;
- 以下代码使用循环逐位输出整数
num6
的各个数位,补全代码:
int num6 = 5678;
while (num6 > 0) {
int digit = num6 ____ 10;
cout << digit << endl;
num6 = num6 / 10;
}
- 这段代码把整数
num7
的各个数位倒序存储到数组digits
中,补全代码:
int num7 = 6789;
int digits[4];
int index = 0;
while (num7 > 0) {
digits[index] = num7 ____ 10;
num7 = num7 / 10;
index++;
}
答案
第一部分:基础知识填空
10
10
,10
100
,10
1000
10^(n - 1)
,10
%
(取模运算符)
第二部分:知识应用填空
%
10
,%
100
,%
1000
100
,1000
%
%