C++输入一个数字,统计这个数的各个位上的数字总共出现了几次
时间: 2024-10-25 20:07:46 浏览: 17
统计0~n之间某个数字出现个数
在C++中,你可以通过迭代每一位并将它们存储在一个哈希表(如std::unordered_map)中来实现这个功能。首先,你需要读取用户的输入转换成整数,然后对每个数字进行处理。以下是步骤:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
int num;
std::cout << "请输入一个数字: ";
std::cin >> num;
// 使用无序地图来存储每位及其出现次数
std::unordered_map<char, int> digit_counts;
while (num > 0) {
char digit = static_cast<char>(num % 10); // 取余数得到个位
digit_counts[digit]++;
num /= 10; // 移除最低位
}
std::cout << "数字的各位及其出现次数:\n";
for (const auto& pair : digit_counts) {
std::cout << "数字 " << pair.first << " 出现了 " << pair.second << " 次\n";
}
return 0;
}
```
当你运行这段程序并输入一个数字后,它会输出该数字中每个数字及其出现的次数。
阅读全文