如下 C++ 代码执行时如果输入正整数,其输出将是输入的正整数。
int N;
cin >> N;
int i = 0, Nbase = 1;
int rst = 0;
while (N != 0) {
rst = rst + N % 10 * Nbase;
N /= 10, Nbase *= 10;
}
cout << rst;
正确答案:正确(√)
int N;
cin >> N;
int i = 0, Nbase = 1;
int rst = 0;
while (N != 0) {
rst = rst + N % 10 * Nbase;
N /= 10, Nbase *= 10;
}
cout << rst;
正确答案:正确(√)
N%10,乘以对应的位权 Nbase(1、10、100…)累加到 rst,正好把原数按位重建。例如 123 → 3×1+2×10+1×100=123,输出与输入相同,说法正确,选 √。💡 这是「拆位再按权重组」,结果等于原数(不是反转)。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习