用C语言编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
时间: 2023-12-18 16:28:24 浏览: 113
c语言 统计一个字符串中单词的个数.doc
以下是两种用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;
}
```
阅读全文