c语言本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
时间: 2023-12-18 15:28:11 浏览: 54
以下是C语言实现统计一行字符中单词个数的代码:
```c
#include <stdio.h>
int main() {
char word;
int count = 0, blank = 1;
while (word != '\n') {
scanf("%c", &word);
if (word != ' ' && blank == 1 && word != '\n') {
count++;
blank = 0;
}
if (word == ' ' && blank == 0) {
blank = 1;
}
}
printf("%d", count);
return 0;
}
```
相关问题
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 用c语言实现
好的,这是一个关于统计单词个数的问题。我可以为您提供一个c语言程序,实现统计单词个数的功能:
```
#include <stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c, state, count;
state = OUT;
count = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t')
{
state = OUT;
}
else if (state == OUT)
{
state = IN;
++count;
}
}
printf("单词个数为:%d\n", count);
return 0;
}
```
这个程序会从标准输入中读取一行字符,然后统计其中单词的个数并输出。请注意,程序中的宏定义 `IN` 和 `OUT` 分别表示单词内和单词外的状态,`getchar()` 函数用于从标准输入中读取单个字符。
用C语言编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
以下是两种用C语言编写程序统计一行字符中单词个数的例子:
1.使用while循环和if语句逐个字符检索,统计单词数。
```c
#include <stdio.h>
int main() {
int sum=0;//字符总数
char a;//单字检索
while(1)//死循环在使用时注意与break搭配
{
scanf("%c",&a);
if(a=='\n') break;
else if(a!=' ')//确保开始时符号不是空格或回车
{
sum++;//检索首字母,统计单词数
while(1)//单词检索
{
scanf("%c",&a);
if(a==' '||a=='\n')//检索到词尾,这样就形成了两空格夹一个单词的形式, break; //解决了単词间空格个数不定问题
}
}
if(a=='\n') break;//只有当单词后为回车时结束两层循环
}
printf("%d",sum);
return 0;
}
```
2.使用字符数组和for循环逐个字符判断,统计单词数。
```c
#include <stdio.h>
int main() {
char a[1000];//字符数组
gets(a);//获取字符串
int i;//循环变量
int l;//记录字符串长度
int num = 0;//单词数量
for(i=0;a[i]!='\0';i++);//记录字符串长度
l=i;
for(i=0;i<l;i++)//循环判断
{
if(a[i]!=' ' && a[i+1]==' ')//符合[?][空格]的情况
num++;
if(a[i]!=' ' && a[i+1]=='\0')//符合[?]['\0']的情况
num++;
}
printf("%d\n",num);
return 0;
}
```