c语言求统计字数的程序求解释

c语言求统计字数的程序求解释,第1张

1,

1和老枯慎2

可以归结为一个问题:

if(!isspace(c)&&!inword)

{

inword=true

n_words++

}

if(isspace(c)&&inword)

inword=false

当来到某一个字符时,如果它不是空格,并且是单词的开始,那么我们就把单词数n_words>加上1,标志又多了一个新的单词。

!isspace(c)

用于判断它不是空格,!inword用于判断>它是单词的开头而不是单败颤词中间的某个字母。

2,

prev='\n':

因为我们靠判断有几个'\n'来判断有多少行的,但是最后一行是以侍敬STOP结尾的,如果STOP前

面的一个字符不是'\n',那么我们就统计少了一行。这个prev=c就是保存结束之前最后一个

字符,也就是

|

前面的那个字符,

如果它不是'\n'的话.它就不是一个完整行。

在你的基础上做了点修改,游耐 以#结束

#include<stdio.h>

int main(void)

{

int nc=0/* number of characters */

int nq=0/* numerical quantities */

int bs=0/* number of blank spaces */

char e

int nw=0,word=0,nl=1

printf("Text Analysis\n")

printf("please input the Text:\n")

e=getchar()

while (e!='#')

{

if((e>='a'&&e<='z')||(e>='A'&&e<悄厅='Z')) nc++

if(e>='0'&&e<='9') nq++

if(e==' ') bs++

if(e=='\n') nl++

if(e==' ') word=0

else if(word==0)

{

word=1

nw++

}

if(e=='\n') word=0

else if(word==0)

{

word=1

nw++

}

e=getchar()

}

printf("Number of Words:%d \n",nw)

printf("Number of Characters:%d\n",nc)

printf("Number of blank spaces:%d\n",bs)

printf("Number of numerical characters:%d\n"神运春,nq)

printf("Number of lines:%d \n",nl)

return 0

}

#include<stdio.h>滚碰

int main()

{

int i,t=0

char s[100]

gets(s)

for(i=0s[i]!=0i++)

if(s[i]<0&&s[i+1]<派悄0)

t++,i++

printf("中文汉字以及中文标点数为%d"尘备渣,t)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12307487.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存