c语言统计字符出现次数
时间: 2023-11-07 19:07:38 浏览: 170
可以使用数组来统计字符出现次数。具体实现如下:
```c
#include <stdio.h>
int main() {
char str[100];
int count[256] = {0}; // 初始化为0
int i;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
count[(unsigned char)str[i]]++; // 将字符作为数组下标,出现次数加1
}
printf("字符出现次数如下:\n");
for (i = 0; i < 256; i++) {
if (count[i] != 0) {
printf("%c:%d\n", i, count[i]);
}
}
return 0;
}
```
这里使用了一个长度为256的整型数组 `count`,用来存储每个字符出现的次数。在输入字符串时,对于每个字符将其作为数组下标,对应的数组元素加1。最后遍历整个数组,输出出现次数不为0的字符及其出现次数。注意要将字符先转换为无符号字符,否则可能会出现负数下标。
相关问题
C语言统计字符串出现次数
以下是两种C语言统计字符串中各个字符出现次数的方法:
1.使用数组统计字符出现次数
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, num[256] = {0};
printf("请输入字符串:");
scanf("%s", str);
for (i = 0; i < strlen(str); i++) {
num[(int)str[i]]++;
}
for (i = 0; i < 256; i++) {
if (num[i] != 0) {
printf("字符%c出现%d次\n", (char)i, num[i]);
}
}
return 0;
}
```
2.使用计数器统计字符出现次数
```c
#include <stdio.h>
int main() {
char str[200];
int cnt[128] = {0};
int i;
printf("请输入字符串:");
gets(str);
for (i = 0; str[i] != '\0'; ++i) {
cnt[str[i]]++;
}
for (i = 0; i < 128; i++) {
if (cnt[i] != 0) {
printf("%c:%d\n", i, cnt[i]);
}
}
return 0;
}
```
C语言统计字符串出现的次数
以下是C语言统计字符串出现次数的例子:
```c
#include <stdio.h>
int main() {
int i, count = 0;
char arr[10];
printf("输入你查询的字符串:");
for(i = 0; i < 10; i++) {
scanf("%c", &arr[i]);
}
for(i = 0; i < 10; i++) {
if(arr[i] == 'a') {
count++;
}
}
printf("a的个数有:%d个", count);
return 0;
}
```