酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++实现:精准统计 1 到 N 页码中 0 - 9 数字出现次数!

要解决这个问题,我们可以编写一个C++程序来统计每个数字(0到9)在1到N的页码中出现的次数。以下是实现这个功能的代码: ```cpp #include <iostream> using namespace std; void countDigits(int N) { int count[10] = {0}; // 初始化一个数组来存储每个数字的出现次数 for (int i = 1; i <= N; i++) { int num = i; while (num > 0) { int digit = num % 10; // 获取当前数字的最后一位 count[digit]++; // 增加对应数字的计数 num /= 10; // 去掉最后一位 } } // 输出每个数字的出现次数 for (int i = 0; i < 10; i++) { cout << count[i] << endl; } } int main() { int N; cin >> N; countDigits(N); return 0; } ``` 代码解释: 1. `countDigits` 函数接受一个整数 `N`,表示总页码。 2. 使用一个大小为10的数组 `count` 来存储每个数字(0到9)的出现次数。 3. 通过循环从1到N,对每个数字进行逐位分解,统计每个数字的出现次数。 4. 输出每个数字的出现次数。 样例输入输出: - 输入 `11`,输出如下: ``` 1 4 1 1 1 1 1 1 1 1 ``` 额外需要注意的逻辑点: 1. 确保输入的 `N` 不超过10000,否则可能会超出预期范围。 2. 在统计数字时,注意处理数字0的情况,因为0不会出现在页码的最前面。 3. 如果 `N` 为0,程序应该输出10个0,因为没有任何页码被统计。 ######[AI写代码神器 | 422点数解答 | 2025-03-21 19:42:05]

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