用c语言编写程序,使输入一行字符,统计其中有多少个单词,单词之间是用空格分隔开
时间: 2023-12-26 07:26:53 浏览: 103
以下是用C语言编写程序,实现输入一行字符,统计其中有多少个单词,单词之间用空格分隔开的代码:
```c
#include <stdio.h>
#include <ctype.h>
#define IN 1
#define OUT 0
int main() {
int c, state = OUT, count = 0;
printf("请输入一行字符,单词之间用一个空格分隔开:\n");
while ((c = getchar()) != EOF) {
if (isspace(c)) {
state = OUT;
} else if (state == OUT) {
state = IN;
count++;
}
}
printf("该行字符有%d个单词。\n", count);
return 0;
}
```
代码思路:
1. 定义两个常量IN和OUT,分别表示在单词内和单词外。
2. 定义变量c、state和count,其中c表示当前读入的字符,state表示当前状态,count表示单词个数。
3. 通过getchar()函数逐个读入字符,如果读到空格、制表符或换行符,就将state设置为OUT,表示当前不在单词内;如果读到非空格字符且state为OUT,就将state设置为IN,表示当前进入了一个新单词,同时将count加1。
4. 最后输出单词个数。
相关问题
使用C语言编写程序,输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
以下是使用C语言编写的程序,用于输入一行字符,统计其中有多少个单词,单词之间用空格分隔开:
```c
#include <stdio.h>
int main() {
char ch;
int num = 0;
printf("请输入一行字符,单词之间用一个空格分隔开\n");
while ((ch = getchar()) != '\n') {
if (ch == ' ') {
num++;
}
}
printf("该行字符有%d个单词", ++num);
return 0;
}
```
运行截图:
![运行截图](image.png)
用C语言编写输入一行字符,统计其中有多少个单词,单词之间是用空格分隔开
以下是用C语言编写输入一行字符,统计其中有多少个单词的代码:
```c
#include <stdio.h>
#include <ctype.h>
#define IN 1
#define OUT 0
int main()
{
int c, state, count;
state = OUT;
count = 0;
while ((c = getchar()) != EOF)
{
if (isspace(c))
{
state = OUT;
}
else if (state == OUT)
{
state = IN;
++count;
}
}
printf("单词数为:%d\n", count);
return 0;
}
```
代码说明:
1. 定义了两个常量IN和OUT,分别表示单词内和单词外的状态。
2. 定义了三个变量c、state和count,其中c表示当前读入的字符,state表示当前状态,count表示单词数。
3. 初始化state为OUT,count为0。
4. 读入字符,如果是空格、制表符或换行符,则将state设置为OUT。
5. 如果不是空格、制表符或换行符,并且state为OUT,则将state设置为IN,并将count加1。
6. 循环读入字符,直到读到文件结尾。
7. 输出单词数。
阅读全文