急~C语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 05:28:54
现在在程序中如果输入()等字符程序就会认为是一个单词,很多朋友给了我他们的源程序,但我试过都不能排除这一问题,请大家再帮我看下谢谢^^!#include "stdio.h"
main()
{char ch;
long a=0,b=1,c=0,d=0,f=0;
printf("请输入文章:");
while ((ch=getchar())!=EOF)
{
c++;
if(ch=='\n')
{a++;}
else if((ch=='\t'||ch=='\n'||ch==' ')&&
!((ch>='0'&&ch<='9')||((ch>='a'&&ch<='z')||(ch>'A'&&ch<='Z'))))
{b++;}
}
printf("此文章有%d行\n",a);
printf("此文章有%d个单词\n",b);
printf("字符有%d个\n",c);

}
请尽量在我写的上修改目前我们只学了stdio.h函数头

又是你,晕,在有问题发消息给我。
加一个判断的变量word进去,word=0时,一个新的单词即将开始。还有:a必须从1开始才行。
#include "stdio.h"
main()
{char ch;
int word=0;
long a=1,b=0,c=0,d=0,f=0;
printf("请输入文章:\n");
while ((ch=getchar())!=EOF)
{
c++;
if(ch=='\n')
{a++;
word=0;}
else if(ch=='\t'||ch==' ')
{word=0;}
else if(((ch>='a'&&ch<='z')||(ch>'A'&&ch<='Z'))&&word==0)
{
word=1;
b++;}
}
printf("此文章有%d行\n",a);
printf("此文章有%d个单词\n",b);
printf("字符有%d个\n",c);

}