c语言代码,输入一行字符,统计其中有多少个单词,单词之间用空格隔开
时间: 2023-08-22 08:03:27 浏览: 41
可以使用以下C语言代码实现:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0, i;
printf("请输入一行字符: ");
fgets(str, 100, stdin); // 从标准输入获取一行字符,存放在str数组中
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ' && str[i-1] != ' ') { // 当前字符为空格且前一个字符不是空格
count++; // 单词数加1
}
}
if (str[0] != ' ') { // 如果第一个字符不是空格,单词数加1
count++;
}
printf("该行字符中有 %d 个单词。\n", count);
return 0;
}
```
该程序先从标准输入获取一行字符,并存放在长度为100的字符数组`str`中。然后,遍历该字符数组,当遇到一个空格时,判断其前一个字符是否也是空格,如果不是,则说明这是一个单词的结尾,单词数加1。最后,再判断一下第一个字符是否是空格,如果不是,则说明该行字符中至少有一个单词,单词数再加1。最后输出单词数即可。
相关问题
输入一行字符,统计其中有多少个单词,单词之间用空格隔开,c语言编程
可以使用C语言的字符串处理函数和循环结构来实现。具体步骤如下:
1. 定义一个字符串变量,用于存储输入的一行字符。
2. 使用C语言的gets函数读取一行字符。
3. 定义一个计数器变量,用于统计单词个数,初值为0。
4. 使用C语言的循环结构遍历输入的字符串,逐个字符判断:
- 如果当前字符是空格,表示一个单词结束,计数器加1。
- 如果当前字符是字符串末尾的'\0',表示最后一个单词结束,计数器加1。
5. 输出统计结果。
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count = 0;
printf("请输入一行字符:");
gets(str);
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ' ') {
count++;
} else if (str[i] == '\0') {
count++;
}
}
printf("单词个数为:%d\n", count);
return 0;
}
```
注意:上述代码中使用了C语言的gets函数读取一行字符,但是gets函数不安全,容易导致缓冲区溢出。实际应用中应该使用更安全的函数,如fgets函数。
用C语言输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
下面是统计单词数量的 C 语言代码示例:
```
#include <stdio.h>
#include <string.h>
int main() {
char line[100];
int i, wordCount = 0;
printf("请输入一行字符:");
fgets(line, 100, stdin);
int len = strlen(line);
for (i = 0; i < len; i++) {
if (line[i] == ' ' || line[i] == '\t' || line[i] == '\n') {
wordCount++;
}
}
printf("共有 %d 个单词\n", wordCount + 1);
return 0;
}
```
上面的代码使用了 `fgets` 函数来读取一行字符,然后使用循环遍历字符数组,统计其中有多少个空格,制表符或换行符(这些字符用于分隔单词)。最后,它输出单词数量加 1(因为最后一个单词之后没有空格)。