使用C++语言写一段程序,使其能够满足:输入一段文字,统计这段文字中每一个字母出现的次数与频率。要求代码行数在30行左右
时间: 2024-09-18 09:14:06 浏览: 32
当然可以,这里是一个简单的C++程序,用于统计输入文本中每个字母及其出现次数和频率。请注意,这个示例将只处理小写字母,并且不考虑空格、标点等非字母字符:
```cpp
#include <iostream>
#include <string>
#include <map>
std::map<char, int> count_letters(const std::string& text) {
std::map<char, int> letter_count;
for (char c : text) {
if ('a' <= c && c <= 'z') { // 只考虑小写字母
letter_count[c]++;
}
}
return letter_count;
}
void print_stats(const std::map<char, int>& counts) {
double total_chars = 0.0;
for (const auto& pair : counts) {
std::cout << "字母 '" << pair.first << "' 出现了 " << pair.second << " 次,频率为 " << (pair.second / total_chars * 100) << "%\n";
total_chars += pair.second;
}
}
int main() {
std::string input;
std::cout << "请输入一段文字:";
getline(std::cin, input);
std::map<char, int> letter_counts = count_letters(input);
print_stats(letter_counts);
return 0;
}
```
阅读全文