成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

c语言如何统计单词个数

Q1:c语言中统计单词个数的问题

相当于空格,可以看一下这个程序(用于统计单词个数) #include void main() { char string[100]; int i,num=0,word=0; char c; printf("请输入一个英文句子:"); gets(string); for(i=0;(c=string[i])!='\0';i++) if(c==' ') word=0; else if(word==0) { word=1; num++; } printf(" 该英文句子由%d个单词组成。 .\n",num); } 有时为了给变量附一个无意义的初值通常用这个。呵呵

Q2:c语言统计单词个数

int decede(char str[])

{

int i,word=0,num=0,first = 1;

for(i=0; str[i]!='\0'; i++)

{

//如果是字母,则一直找到非字母(分隔符:符号,空格等)

if((str[i]>='a' && str[i]<='z') || (astr>='A' && str[i]<='Z'))

{

do{

i++;

} while((str[i]>='a' && str[i]<='z')||(str[i]>='A'&&str[i]<='Z'));

//记录一个单词

num++;

}

}

return num;

}

Q3:c语言怎么统计输入的汉字的个数和英文单词的个数

一个汉字由两个连续负值的ASCII码组成。

当ASCII值为负j++,最后汉字个数为j/2

单词个数基本上就是数空格

我和题主一样懒

就这样

Q4:c语言 统计单词个数

#include #include int main() { char string[1000]; int number=1; printf("从键盘输入一行字符,以空格分割单词,直到按回车键结束,统计其中的单词个数\n"); gets(string); int i=1; while(string[i]!='\0') { if(string[i]==' ') number++; i++; } printf("单词个数为:%d\n",number); return 0; }

Q5:C语言,不同单词个数统计。基础语句

这个用C++中 map关联容器很容易,每读入一个单词是,就执行一个map过程,最后ap中键值的个数就是你要输入的数字即单词的个数。

用c语言写的话,就是把这些单词存储在字符串数组中,对字符数组遍历一遍。就可以了~

Q6:C语言统计单词个数问题!

根据英语的书写习惯,在每个单词前后都会有空格分隔。 所以可以依据空格来划分单词。

不过,由于空格可能存在连续多个,所以仅统计空格数是不可以的,需要更复杂一些的算法。

一、算法设计:

核心思想是通过一个flag,来确定单词的起始, 每出现一个单词的起始,则表示存在一个单词。 这样统计出现的单词起始个数,即可获得单词总数。

1、flag初始为1;

2、遍历字符串。

3、对于每个字符,如果出现非空格字符,且flag为1,则为单词起始,累加计数器。同时赋值flag为0。

4、在flag为0情况下,如果出现空格,表示上一个单词已经结束,设置flag为1。

5、 遍历结束后输出结果。

二、参考代码:

#include

int func(char *s)//计算单词数函数

{

int i,n=0,flag=1;

for(i = 0; s[i]; i ++)//遍历

{

if(flag == 1)

{

if(s[i] != ' ')//单词起始

{

n++;

flag = 0;

}

}

else if(s[i] == ' ')//上一个单词结束。

flag = 1;

}

return n;//返回结果。

}

int main()

{

char s[200];

gets(s);//输入字符串。

printf("%d\n", func(s));//调用函数,计算并输出结果。

return 0;

}

猜你喜欢

更多