GESP C++ 拆位/取位 自测题
第一部分:基础知识填空(每题 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,%