输入一行字符,用函数编程统计其中有多少个单词。假设单词之间以空格分开(请尝试分别使用字符数组和字符指针实现)。
时间: 2023-12-26 16:11:04 浏览: 21
使用字符数组实现:
```c
#include <stdio.h>
#include <string.h>
int count_word(char str[]) {
int count = 0;
int len = strlen(str);
int i;
for (i = 0; i < len; i++) {
if (str[i] != ' ' && (i == 0 || str[i-1] == ' ')) {
count++;
}
}
return count;
}
int main() {
char str[100];
printf("请输入一行字符:");
fgets(str, 100, stdin);
int count = count_word(str);
printf("单词个数为:%d\n", count);
return 0;
}
```
使用字符指针实现:
```c
#include <stdio.h>
#include <string.h>
int count_word(char *str) {
int count = 0;
while (*str != '\0') {
if (*str != ' ' && (*(str-1) == ' ' || str == str)) {
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
printf("请输入一行字符:");
fgets(str, 100, stdin);
int count = count_word(str);
printf("单词个数为:%d\n", count);
return 0;
}
```