用C++设计一个程序,计算用户输的一段文字中每个英文字符出现的概率
时间: 2023-06-04 07:08:51 浏览: 128
好的,我可以回答这个问题,以下是C语言代码的示例:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_SIZE 128 // ASCII码表中字符的数目
int main() {
int freq[MAX_SIZE] = { 0 }; // 用来存储每个字符出现的次数
char text[1000]; // 存放用户输入的文本
int num_chars = 0; // 存放文本中字符的总数
printf("请输入一段文本:\n");
fgets(text, sizeof(text), stdin);
for (int i = 0; text[i] != '\0'; i++) {
if (isalpha(text[i])) { // 如果是字母
freq[tolower(text[i])]++; // 将字符转换成小写,然后增加其对应的计数器
num_chars++;
}
}
printf("字符 出现次数 出现概率\n");
for (int i = 0; i < MAX_SIZE; i++) {
if (isalpha(i)) { // 如果是字母
printf("'%c' %5d %5.2f%%\n", i, freq[i], freq[i] / (float)num_chars * 100.0);
}
}
return 0;
}
```
上述代码通过输入一段文本,统计其中每个英文字符出现的次数,并计算每个字符出现的概率。其中使用了ctype库中的isalpha函数判断字符是否是字母,使用了stdio库中的fgets函数获取用户输入的文本,使用了数组来存储每个字符出现的次数。最后,将统计结果输出到屏幕上。
阅读全文