C语言关于统计一行字符的单词个数

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:16:37
C语言关于统计一行字符的单词个数,请写得齐全一点哦,不要只写一个主干,我看不懂的哦,谢谢、、、、
#include<stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c=='')word=0;
else if(word==0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
getche();
}
为什么这个程序答案都是1啊、、、、、怎么改正呢

请举例说明你想达到的效果,这种表达不是很明确你想要什么.

首先创建这样一个function
int Word_Number(char* str){
char n=0;
char i=0;

while(1){
if(*(str+i)==0){
n++;
break;
}

if(*(str+i)==' ') n++;

i++;
}

return n;
}

然后在main里边直接使用就好,比如:

void main(void){
int x;

x=Word_Number("Hello world!");

printf("%d\n",x);
}

结果就是2

或者 char s[255]="hello world";
x=World_Number(c);

结果也是2.

唉,为了保险起见,提醒一下,别忘了#include <stdio.h>另外,还有Word_Number这个function的prototype,也就是要在上面加上一行:int Word_Number(char*);

还有,这个程序,只能辨别以空格来区分单词,如果有","就不行,其实microWord也是这么check的,所以如果有","的话,请在","后边加上空格,或者你自己把if(*(str+i)==' ') n++; 改成if(*(str+i)==' ') || *(str+i)==',') n++;而且如果有两个空格,他会算两个单词,这就是这个程序的bug,如果想避免这个,可以加一个flag之类的东西,自己研究吧.

C语言关于统计一行字符的单词个数 统计输入的一行字符中有多少个单词C语言!帮忙看看怎么写!! C语言问题:输入一行字符,统计其中有多少个单词,单词之间用空格隔开 从键盘输入一行字符,统计其中有多少个单词; C语言 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 C语言编程:输入一行字符,统计出其中英文字母、空格、数字和其他字符的个数 用C语言编程:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数. C语言题:输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符。 C编程:统计英文文本 一个字符的单词有多少个 两个字符的单词有多少个 N个字符的单词有多少个 输入n行字符(如英文单词)每行不超过80个字符,以回车结束每一行输出该字符串并统计每一行的单词数