C语言统计字符串中各个字符出现次数,并排序
时间: 2023-06-02 14:03:08 浏览: 253
统计一个字符串中每个字符出现的次数
以下是C语言代码,可以统计字符串中各个字符出现次数,并按照出现次数从高到低排序:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int count[256] = {0};
int i, j, temp;
char ch;
printf("Enter a string: ");
fgets(str, MAX_LENGTH, stdin);
// 统计字符出现次数
for (i = 0; i < strlen(str); i++) {
ch = str[i];
count[ch]++;
}
// 排序
for (i = 0; i < 256; i++) {
for (j = i + 1; j < 256; j++) {
if (count[i] < count[j]) {
temp = count[i];
count[i] = count[j];
count[j] = temp;
ch = i;
i = j;
j = ch;
}
}
}
// 输出结果
printf("Character frequency:\n");
for (i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("%c: %d\n", i, count[i]);
}
}
return 0;
}
```
该程序使用一个长度为256的整型数组count来统计每个字符出现的次数。然后,通过一个简单的冒泡排序算法,将字符按照出现次数从高到低排序。最后,程序输出每个字符出现的次数。
阅读全文