用c语言编写一个程序,对给定的一个英文字符串,统计其中每个字符出现的次数并且按出现次数从小到大进行排序
时间: 2024-10-06 11:04:47 浏览: 51
c语言 统计字符出现次数
在C语言中,你可以使用数组、哈希表或者结构体等数据结构来实现这个功能。这里我们以字符计数并使用数组存储结果为例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 26 // 英文字符最多26个
// 定义一个用于存放字符计数的数组
int charCount[MAX_CHAR] = {0};
void countChars(char* str) {
int len = strlen(str);
for(int i = 0; i < len; i++) {
if('a' <= str[i] && str[i] <= 'z') { // 只统计小写字母
charCount[str[i] - 'a']++;
}
}
}
void sortAndPrint() {
for(int i = 0; i < MAX_CHAR; i++) {
if(charCount[i] > 0) {
printf("'%c': %d\n", 'a' + i, charCount[i]);
}
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 防止读入换行符
input[strlen(input) - 1] = '\0'; // 去除末尾的换行符
countChars(input);
sortAndPrint();
return 0;
}
阅读全文