c语言输入字符串统计不同字符个数
时间: 2024-10-14 10:06:51 浏览: 21
C语言实现将字符串转换为数字的方法
在C语言中,你可以通过遍历字符串并利用哈希表(如数组或结构体数组)来统计不同字符的个数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体用于存储字符及其计数
typedef struct {
char ch;
int count;
} CharCount;
int main() {
char str[100]; // 假设字符串长度不超过100
int i = 0;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // 注意fgets处理换行符
// 初始化所有字符的计数为0
CharCount charCounts['z' - 'a' + 1] = {0}; // 对于小写字母,从'a'到'z'
CharCount charCountsUpper['Z' - 'A' + 1] = {0}; // 对于大写字母,从'A'到'Z'
// 遍历字符串并更新字符计数
for (i = 0; str[i] != '\0'; ++i) {
if ('a' <= str[i] && str[i] <= 'z') // 小写字母
charCounts[str[i] - 'a'].count++;
else if ('A' <= str[i] && str[i] <= 'Z') // 大写字母
charCountsUpper[str[i] - 'A'].count++;
}
// 输出每个字符及其计数
for (char *counts = charCounts; counts->ch != '\0'; counts++) {
if (counts->count > 0) {
printf("%c appears %d times.\n", counts->ch, counts->count);
}
}
for (char *counts = charCountsUpper; counts->ch != '\0'; counts++) {
if (counts->count > 0) {
printf("%c appears %d times.\n", counts->ch, counts->count);
}
}
return 0;
}
阅读全文