酷代码 AI
菜单
服务商

C++ 实现统计 1 到 n 中数字 1 个数:开发中需小心的三处陷阱

```cpp #include <iostream> using namespace std; // 此函数用于计算一个数中数字1的个数 int countOnesInNumber(int num) { int count = 0; while (num > 0) { // 检查当前数字的最后一位是否为1 if (num % 10 == 1) { count++; } // 去掉最后一位数字 num /= 10; } return count; } // 此函数用于计算从1到n中所有数字里数字1的总个数 int countOnesFromOneToN(int n) { int totalOnes = 0; for (int i = 1; i <= n; i++) { // 累加每个数字中1的个数 totalOnes += countOnesInNumber(i); } return totalOnes; } int main() { int n; // 读取输入的正整数n cin >> n; // 调用函数计算从1到n中数字1的总个数 int result = countOnesFromOneToN(n); // 输出结果 cout << result << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 在 `countOnesInNumber` 函数里,要确保循环结束条件正确,避免出现死循环。 2. 注意输入的 `n` 的范围,在本题中,虽然已经限定了范围,但在其他场景下可能需要对输入的有效性进行检查。 3. 当计算从1到 `n` 每个数中1的个数时,要保证循环的起始和结束条件准确,避免遗漏或重复计算。 ######[AI写代码神器 | 413点数解答 | 2026-01-26 17:56:10]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]