文章中出现字符概率统计c++
时间: 2024-02-23 21:58:14 浏览: 61
好的,我可以为您提供一个简单的字符概率统计的C++代码示例:
```c++
#include <iostream>
#include <fstream>
#include <map>
#include <iomanip>
using namespace std;
int main() {
string filename = "example.txt"; // 文本文件路径
map<char, int> freq; // 存储字符出现次数的映射表
int total_chars = 0; // 总字符数
// 读取文本文件,统计字符出现次数
ifstream file(filename);
if (file) {
char c;
while (file.get(c)) {
if (isalpha(c)) { // 只统计字母
freq[tolower(c)]++; // 转换为小写并增加对应计数
total_chars++; // 总字符数增加
}
}
file.close();
// 输出每个字符的出现次数和概率
cout << "字符\t出现次数\t概率" << endl;
for (auto& p : freq) {
char c = p.first;
int count = p.second;
double prob = (double)count / total_chars;
cout << c << "\t" << count << "\t\t" << fixed << setprecision(4) << prob << endl;
}
} else {
cerr << "无法打开文件 " << filename << endl;
return 1;
}
return 0;
}
```
这个代码示例可以读取一个文本文件,统计其中每个字母出现的次数以及对应的概率,并输出到控制台。您可以根据需要进行修改和扩展。
阅读全文