c语言编写一个程序,统计输入一行字符串中各个字母使用频率(大小写不区分),将次数不为零的字母及次数输出。
时间: 2023-07-15 11:10:44 浏览: 120
下面是一个简单的 C 语言程序,可以实现输入一行字符串并统计字母使用频率:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHABET_SIZE 26
int main() {
int counts[ALPHABET_SIZE] = {0};
char c;
printf("Please enter a string: ");
while ((c = getchar()) != '\n') {
if (isalpha(c)) {
counts[tolower(c) - 'a']++;
}
}
printf("Letter frequencies:\n");
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (counts[i] > 0) {
printf("%c: %d\n", i + 'a', counts[i]);
}
}
return 0;
}
```
这个程序使用了一个整型数组 `counts` 来记录每个字母出现的次数。当输入一个字母时,程序会先检查该字符是否为字母,如果是,则使用 `tolower` 函数将其转换为小写字母并将其出现次数加1。最后,程序会输出每个字母的出现次数,只有出现次数大于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;
}
```
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;
}
```
阅读全文