编写一个c语言程序要求统计输入字符串中各个字母使用频率
时间: 2023-11-20 18:23:32 浏览: 152
好的,这是一个简单的统计字母频率的C语言程序:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int freq[26] = {0}; // 初始化频率数组为0
printf("请输入字符串:");
fgets(str, MAX_LEN, stdin); // 从标准输入读取字符串
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 判断字符是否为字母
freq[tolower(str[i]) - 'a']++; // 统计字母频率
}
}
printf("字母频率如下:\n");
for (int i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, freq[i]); // 输出字母频率
}
return 0;
}
```
程序中使用了一个大小为26的整型数组 `freq` 来统计每个字母的频率,数组下标为字母在字母表中的位置,即 `'a'` 对应下标0,`'b'` 对应下标1,以此类推。程序通过循环遍历输入的字符串,如果当前字符是字母,则将对应的频率数组元素加1。最后输出每个字母的频率。
相关问题
c语言统计输入字符串中各个字母使用频率 编写一个程序,统计输入一行字符串中各个字母使用频率(大小写不区分),将次数不为零的字母及次数按照字母ASCII码从小到大输出。
以下是C语言统计输入字符串中各个字母使用频率的程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int freq[26] = {0}; // 用于记录每个字母出现的次数,初始化为0
int len, i;
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin); // 从标准输入读入字符串
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
freq[str[i] - 'a']++; // 小写字母
} else if (str[i] >= 'A' && str[i] <= 'Z') {
freq[str[i] - 'A']++; // 大写字母
}
}
printf("各个字母出现的频率为:\n");
for (i = 0; i < 26; i++) {
if (freq[i] != 0) {
printf("%c: %d\n", i + 'a', freq[i]); // 输出字母及其出现次数
}
}
return 0;
}
```
用c语言编写一个程序,统计输入一行字符串中各个字母使用频率(大小写不区分),将次数不为零的字母及次数输出。
以下是用C语言编写的程序,可以统计输入一行字符串中各个字母使用频率(大小写不区分),并将次数不为零的字母及次数输出。
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int freq[26] = {0}; // 用于记录每个字母出现的次数,初始化为0
int i, len;
printf("请输入一行字符串:");
fgets(str, MAX_LEN, stdin); // 从标准输入读取一行字符串
len = strlen(str);
for (i = 0; i < len; i++) {
if (isalpha(str[i])) { // 判断是否为字母
freq[tolower(str[i]) - 'a']++; // 统计字母出现次数,大小写不区分
}
}
printf("各个字母使用频率如下:\n");
for (i = 0; i < 26; i++) {
if (freq[i] != 0) { // 只输出出现次数不为零的字母
printf("%c: %d\n", 'a' + i, freq[i]);
}
}
return 0;
}
```
阅读全文