酷代码 AI
菜单
服务商

C++ 实现计算 1 到 n 中数字 1 的个数

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> // 计算一个数中数字 1 的个数 int countOnesInNumber(int num) { int count = 0; while (num > 0) { if (num % 10 == 1) { count++; } num /= 10; } return count; } // 计算从 1 到 n 中所有数字中数字 1 的总个数 int countOnesFromOneToN(int n) { int totalCount = 0; for (int i = 1; i <= n; i++) { totalCount += countOnesInNumber(i); } return totalCount; } int main() { int n; std::cin >> n; std::cout << countOnesFromOneToN(n) << std::endl; return 0; } ``` ### 代码解释: 1. **`countOnesInNumber` 函数**: - 该函数接受一个整数 `num` 作为参数。 - 使用一个 `while` 循环,不断取 `num` 的最后一位数字,检查是否为 1,如果是则计数器 `count` 加 1。 - 然后将 `num` 除以 10,去掉最后一位数字,继续检查下一位,直到 `num` 变为 0。 - 最后返回计数器 `count` 的值。 2. **`countOnesFromOneToN` 函数**: - 该函数接受一个整数 `n` 作为参数。 - 使用一个 `for` 循环,从 1 到 `n` 遍历每个数字。 - 对于每个数字,调用 `countOnesInNumber` 函数计算其包含的数字 1 的个数,并累加到 `totalCount` 中。 - 最后返回 `totalCount` 的值。 3. **`main` 函数**: - 读取用户输入的正整数 `n`。 - 调用 `countOnesFromOneToN` 函数计算从 1 到 `n` 中所有数字中数字 1 的总个数。 - 输出计算结果。 ######[AI问答 | 552点数解答 | 2026-03-14 17:06:54]

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