输入一行字符,统计其中有多少个单词,单词之间用空格分隔开C语言
时间: 2023-08-22 16:03:34 浏览: 129
好的,这是一个比较经典的问题,可以用C语言来实现。代码如下:
```
#include <stdio.h>
int main() {
char str[100];
int count = 0;
int i;
printf("请输入一行字符:");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ' && str[i+1] != ' ') {
count++;
}
}
if (str[0] != ' ') {
count++;
}
printf("单词的个数为:%d\n", count);
return 0;
}
```
这个程序的思路是,先让用户输入一行字符,然后用一个循环遍历这个字符串,如果遇到一个空格,就判断下一个字符是否也是空格,如果不是,说明遇到了一个单词,单词数量加1。最后还要判断一下第一个字符是否为空格,如果不是,说明第一个单词也算上了,单词数量也要加1。
相关问题
c语言输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
好的,这里是一个简单的 C 语言程序,可以实现你的需求:
```c
#include <stdio.h>
int main() {
char str[1000];
int words = 0, i;
printf("请输入一行字符:\n");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ') {
words++;
}
}
printf("单词数为:%d\n", words + 1);
return 0;
}
```
这个程序中,我们使用 `gets` 函数获取用户输入的字符串,然后使用一个循环遍历字符串中的每一个字符,如果遇到空格,就说明前面的字符组成了一个单词,此时将计数器 `words` 加 1。最后输出单词数时,需要注意加上最后一个单词,因为它后面没有空格。
用c语言输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
char str[1000];
int count = 0, i;
printf("请输入一行字符:");
fgets(str, 1000, stdin); // 使用 fgets 函数读取输入的字符串
// 统计单词数量
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ' && str[i-1] != ' ') {
count++;
}
}
if (str[0] != '\0') { // 如果输入的字符串不为空,则单词数量应该加1
count++;
}
printf("单词数量为:%d\n", count);
return 0;
}
```
代码逻辑如下:
1. 使用 `fgets` 函数读取输入的字符串,存储在字符数组 `str` 中;
2. 使用 `for` 循环遍历字符串,每当遇到一个空格时,判断前一个字符是否是空格,如果不是,则说明遇到了一个单词,将单词数量加1;
3. 遍历完整个字符串后,如果输入的字符串不为空,则单词数量应该加1;
4. 最后输出单词数量。
注意,本代码实现中,单词的定义是以空格为分隔符,因此如果输入的字符串中有其他分隔符(如逗号、句号等),则也会被视为一个新的单词。
阅读全文