GESP一级栏目共276题,当前题目是第264题 (95.7%)
第 13 题
下面 C++ 代码用于获得正整数 N 的第 M 位数,约定个位数为第 1 位,如 N 等于 1234,M 等于 2,则输出 3。假设 M 的值是大于等于 1 且小于等于 N 的位数。横线处应填入的代码是 ( ) 。
int N, M, div=1;cout << "请输入一个正整数: ";
cin >> N;
cout << "请输入从右到左取第几位数: ";
cin >> M;
for (int i = 0; i < (M - 1); i++) div *= 10;
cout << (N / div % 10);
别灰心,再仔细想想!
💡
真题解析
【答案】D
【考纲知识点】循环结构、算术运算
【解析】第 7 行循环的作用是:将 div 变为 10^(M-1)(如 M=2 时,div=10),想要获取 N 的第 M 位,需要先将第 M 位移到个位(N / div),再对 10 取余(%10),即 N / div % 10。选 D。
【考纲知识点】循环结构、算术运算
【解析】第 7 行循环的作用是:将 div 变为 10^(M-1)(如 M=2 时,div=10),想要获取 N 的第 M 位,需要先将第 M 位移到个位(N / div),再对 10 取余(%10),即 N / div % 10。选 D。