简单的单词统计
学校的作业
从键盘输入一个字符串(长度不超过80),统计其中含有多少个英文单词。可以使用字符串处理函数。每个单词之间用若干个空格间隔或者逗号(,)、或者句号(.)间隔。
自己写的代码
#include<stdio.h>
int main()
{
char a[80];
int count=1;
gets(a);
for(int i=0;i<80;i++)
{
if(a[i]==' ' || a[i]==',' || a[i]=='.')
count++;
}
printf("%d",count);
}
就是简单的一个写法,但考虑到可能有多个空格之类的会使输出结果错误,但自己想了较长时间也只想到循环到到下一个不是空格的类型,但觉得有点太麻烦了,所以就没有继续写.
标准答案
#define N 81
#include <stdio.h>
int main()
{
char ch[81];
int i=0,count=0,word=0;
gets(ch);
while(ch[i]!='\0')
{
if(ch[i]==' '||ch[i]==','||ch[i]=='.')
word=0;
else if(word==0)
{
word=1;
count++;
}
i++;
}
printf("%d\n",count);
return 0;
}
用了简单的方法使自己想的方法更简单的实现。属实是好东西,特意拿来分享