#2640. [GESP202603 二级 C++] 第 22 题

[GESP202603 二级 C++] 第 22 题

下面的 C++ 代码段用于计算1到N之间且包含N的所有数字中含有的3的个数,如1到40含有14个3,而1到20则只含有2个3。如果将 while (i != 0) 改为 while (abs(i)),则执行结果相同。( )

cout << "请输入正整数N:";
cin >> N;
cnt = 0; // 保存3的个数
for (k = 1; k < N + 1; k++){
    i = k;
    while (i != 0){
        if (i % 10 == 3)
            cnt += 1;
        i /= 10;
    }
}
cout << cnt;

{{ select(1) }}

  • 正确
  • 错误