C语言字符数组计算不同类型字符出现的次数
时间: 2023-11-27 20:05:22 浏览: 30
可以使用一个大小为256的整型数组来记录每个字符出现的次数,数组下标对应字符的ASCII码值。
示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int freq[256] = {0}; // 初始化数组
printf("请输入一串字符:");
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isascii(str[i])) { // 判断是否为ASCII字符
freq[(int)str[i]]++; // 对应字符出现次数加1
}
}
printf("字符\t出现次数\n");
for (int i = 0; i < 256; i++) {
if (freq[i] > 0) { // 如果该字符出现过,则输出其出现次数
printf("%c\t%d\n", i, freq[i]);
}
}
return 0;
}
```
运行示例:
```
请输入一串字符:Hello, world!
字符 出现次数
1
! 1
, 1
H 1
e 1
l 3
o 2
r 1
w 1
d 1
```
注意,该代码只能计算ASCII字符的出现次数,对于Unicode字符则需要采用其他方式处理。