想统计 10~99 中含有数字 5 的两位数个数,这段程序的问题是( )。
int cnt = 0;
for (int i = 10; i <= 99; i++) {
while (i > 0) {
if (i % 10 == 5) {
cnt++;
}
i = i / 10;
}
}
cout << cnt << endl;
- A. 取数位用反了,应该用 i / 10 取个位、i % 10 去掉个位
- B. 枚举边界写错,99 不该被枚举
- C. cnt++ 应该挪到 while 循环外面执行
- D. 循环体里直接改了枚举变量 i,把它除到 0 后自增回 1,在 0 和 1 之间打转,程序死循环