c语言统计字符出现次数
时间: 2023-11-07 11:07:38 浏览: 457
可以使用数组来统计字符出现次数。具体实现如下:
```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语言中,你可以使用数组、哈希表或者结构体等数据结构来统计字符串中每个字符的出现次数。这里是一个简单的示例,使用数组来存储字符及其计数:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 128 // 假设我们只关心ASCII字符
void count_chars(char *str) {
int char_count[MAX_CHAR] = {0}; // 初始化所有字符计数为0
for (int i = 0; str[i] != '\0'; i++) {
char_count[str[i]]++; // 如果遇到字符,计数加一
}
// 打印结果
for (int i = 0; i < MAX_CHAR; i++) {
if (char_count[i] > 0) {
printf("字符 '%c' 出现了 %d 次\n", i, char_count[i]);
}
}
}
int main() {
char input[] = "Hello, World!";
count_chars(input);
return 0;
}
```
在这个程序中,`count_chars`函数遍历输入字符串,对于每一个字符,它会更新对应位置的计数。注意,这里我们假设输入字符串仅包含ASCII字符,如果可能有其他Unicode字符,可能需要修改计数范围。
用C语言统计字符出现次数
给定一个字符串和一个字符,统计该字符在字符串中出现的次数是一个常见的问题。下面是一个用C语言实现的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80]; // 输入的字符串
char ch; // 输入的字符
int i, len, count = 0; // 初始化count
gets(str); // 输入字符串
len = strlen(str); // 获取字符串长度
ch = getchar(); // 获取字符
for (i = 0; i < len; i++) {
if (str[i] == ch) { // 如果字符相等,计数器加1
count++;
}
}
printf("%d", count); // 输出字符出现次数
return 0;
}
```
该程序中,我们使用了`gets`函数来输入字符串,`strlen`函数来获取字符串长度,`getchar`函数来输入字符。然后使用一个循环遍历字符串中的每个字符,如果字符相等,计数器加1。最后输出计数器的值即可。
阅读全文
相关推荐













