输⼊⼀组字符串,以回⻋结束,中间⽤空格隔开,计算每个字符串出现的次数。c语言实现
时间: 2024-12-15 13:14:27 浏览: 8
在C语言中,你可以通过循环遍历输入的字符串数组,并配合使用哈希表或者动态数组来计算每个字符串出现的次数。以下是一个简单的示例,这里我们使用字符数组和计数数组来实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STRINGS 100
#define MAX_CHAR 256
// 初始化计数数组
int string_counts[MAX_CHAR] = {0};
int main() {
char input[MAX_STRINGS][MAX_CHAR];
int num_strings;
printf("请输入一组字符串,以回车结束,中间用空格隔开:\n");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
// 检查是否有多余的换行符并移除
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
num_strings = strlen(input) / sizeof(char); // 获取有效字符串的数量,忽略空格和换行符
for (int i = 0; i < num_strings; i++) {
char* str = input + i * strlen(input);
int count = 1;
// 遍历字符串,统计字符出现次数
while (*str != '\0') {
string_counts[*str]++;
str++;
count++;
}
// 如果遇到空格,则跳过统计下一个字符串
if (*str == ' ') {
str++;
continue;
}
}
// 输出每个字符串及其出现次数
for (int i = 0; i < MAX_CHAR; i++) {
if (string_counts[i] > 0) {
printf("%c 出现了 %d 次\n", i, string_counts[i]);
}
}
return 0;
}
```
阅读全文