一个正整数的每位都是个位数,称为数位,最高位非 0。下面的 C++ 代码用于求正整数的所有数位之和,简称数位和。如 123 的各数位分别是 1、2、3,则其数位和为 $1+2+3$,结果为 6。为实现该目标,横线处应该填写的代码是( )。
int N;
cin >> N;
int tnt = 0;
while (N != 0){
________;
________;
}
cout << "N的数位和为:" << tnt;A.
tnt += N / 10
N /= 10B.
tnt += N % 10
N /= 10C.
tnt += N / 10
N %= 10D.
tnt = tnt + N % 10
N %= 10答案B。先分析已有代码的功能,确定输出目标,再反推横线处需要的代码。可用代入法验证。
将每个选项代入横线处验证是最可靠的方法。注意代码的完整逻辑和输出格式。
【考点】整数除取余|累加求和|循环终止条件
GESP 一级「数制与编码/基础编程」模块必考题型。命题人盯住的是学生分不清「除」和「取余」的语义差异——绝大多数人背过「除以 10」求商、「取余 10」求个位,但一到手写代码就张冠李戴。