c++统计一个字符串中每个字符出现的次数
作者:野牛程序员:2023-07-06 10:31:15 C++阅读 3207
要统计一个字符串中每个字符出现的次数,你可以使用一个哈希表(unordered_map)来实现。下面是一个使用C++的示例代码:
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
string str;
cout << "输入字符串: ";
getline(cin, str);
unordered_map<char, int> charCount;
// 遍历字符串中的每个字符,并统计出现次数
for (char c : str) {
// 如果字符已经在哈希表中存在,则增加对应的计数
if (charCount.find(c) != charCount.end()) {
charCount[c]++;
}
// 如果字符不在哈希表中,则将其插入,并初始化计数为1
else {
charCount[c] = 1;
}
}
// 打印每个字符和对应的出现次数
cout << "字符出现次数:" << endl;
for (auto pair : charCount) {
cout << pair.first << ": " << pair.second << endl;
}
return 0;
}这段代码首先要求用户输入一个字符串,然后使用哈希表 charCount 统计每个字符出现的次数。在遍历字符串的过程中,我们检查当前字符是否已经在哈希表中。如果存在,我们增加其对应的计数;如果不存在,我们将字符插入哈希表,并将计数初始化为1。最后,我们打印出每个字符和对应的出现次数。
请注意,这段代码中使用了 C++11 中引入的范围循环 (range-based for loop) 语法,它允许我们直接遍历容器中的元素。另外,我们使用 std::unordered_map 来实现哈希表,它提供了常数时间复杂度的插入和查找操作。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

