用C编写一个程序,接受用户输入的一个字符串,然后统计并输出字符串中每个单词出现的次数
时间: 2024-04-15 10:28:21 浏览: 24
当然可以!以下是一个用C编写的程序,可以接受用户输入的字符串,并统计每个单词出现的次数:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
void countWords(char* str) {
char words[MAX_LENGTH][MAX_LENGTH];
int count[MAX_LENGTH] = { 0 };
int numWords = 0;
// 分割字符串为单词
char* token = strtok(str, " ");
while (token != NULL) {
strcpy(words[numWords], token);
numWords++;
token = strtok(NULL, " ");
}
// 统计每个单词出现的次数
for (int i = 0; i < numWords; i++) {
count[i]++;
for (int j = i + 1; j < numWords; j++) {
if (strcmp(words[i], words[j]) == 0) {
count[i]++;
count[j] = -1; // 标记重复单词
}
}
}
// 输出结果
printf("每个单词出现的次数:\n");
for (int i = 0; i < numWords; i++) {
if (count[i] != -1) {
printf("%s: %d\n", words[i], count[i]);
}
}
}
int main() {
char inputString[MAX_LENGTH];
printf("请输入一个字符串:");
fgets(inputString, MAX_LENGTH, stdin);
// 删除换行符
if (inputString[strlen(inputString) - 1] == '\n') {
inputString[strlen(inputString) - 1] = '\0';
}
countWords(inputString);
return 0;
}
```
这个程序使用了字符串操作函数和数组来统计单词出现的次数。用户可以输入一个字符串,然后程序将输出每个单词及其出现的次数。
请注意,在编写此程序之前,确保您已经了解了C语言的基本知识,以便更好地理解并运行此代码。
阅读全文