如下 C++ 代码能实现输出正整数 $N$ 的各位数字。
int N;
cin >> N;
while (N > 0) {
cout << (N % 10) << endl;
N = N / 10;
}答案A。逐行追踪代码:从main开始,记录每个变量的值变化。注意循环的起止条件和累加过程。
逐行模拟时建议画表格记录变量值的变化过程,特别是循环体中的变化。
【考点】while 循环|取模运算|整除运算
本题考查循环控制结构与基本算术运算的结合应用,属于 GESP 一级信息学基础模块。命题人之所以放这道题,就是卡住那些只背语法不懂原理的考生——很多人死记 while 循环的写法,却对「为什么条件要写 N > 0 而不是 N >= 0」毫无概念,对取模和整除在十进制拆位中的数学本质也一知半解。