C语言输入一组字符串,回车结束,中间空格隔开,计算每个字符串出现的次数
时间: 2024-10-27 13:10:43 浏览: 122
在C语言中,你可以使用`fgets()`函数从标准输入读取一行字符串,然后使用`strtok()`函数按空格分割这一行字符串,最后使用哈希表(如数组或者动态分配的结构体)来统计每个字符串的出现次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORDS 100 // 定义最大单词数
char words[MAX_WORDS][50]; // 存储单词的数组
int count[MAX_WORDS]; // 记录每个单词出现次数
void count_words() {
int i = 0;
char input[256];
fgets(input, sizeof(input), stdin);
// 按空格分割字符串并统计次数
char *token = strtok(input, " ");
while (token != NULL) {
strcpy(words[i], token); // 将单词复制到数组
count[i]++; // 提供计数
i++;
token = strtok(NULL, " "); // 分割下一个词
}
}
int main() {
count_words();
// 打印结果
for (int j = 0; j < i; j++) {
printf("'%s': %d times\n", words[j], count[j]);
}
return 0;
}
```
当你运行这个程序时,用户需要在命令行中输入一系列由空格隔开的字符串,程序会计算每个字符串出现的次数。
阅读全文
相关推荐











