c语言统计英文句子中的单词个数,c语言 统计一个英文句子中的单词个数

2021-01-02 20:46:03 字数 4553 阅读 2457

1楼:印假钞换贞操

存在两个问题:

1、单词

与单词之间的空格不止一个,如there is2、单词与单词之间只有标点符号分隔,没有空格,如will,there建议可使用char *strtok(char s, const char *delim); 函数

例如:chara="wherethereiswill,thereisaway.";

char*p=strtok(a,",.!");

intcount=0;

if(p!=null)

while((p=strtok(null,",.!"))!=null)

//包含,**没有测试过,不一定要采纳我,我是来学习的。

2楼:匿名用户

是否存在连续多个空格的情况(程序中没考虑)?是否存在以非空格分隔单词的情况(比如,;!.... 等,程序中没考虑)?

另外相同的单词只算一个,还是出现几次算几个?

c语言程序设计,输入一个英文句子,统计单词的个数。

3楼:凌乱心扉

#include

#include

#include

main()

//以下统计句子中的英文单词个数;

for(i=0;(c=string)!='\0';i++)//for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='\0',即未到达结束符'\0'的话,执行i++;

}printf("\n");

printf("您输入的这句英文句子中共包含%d个英文字符,%d个英文单词。\n",sum,num);

}示例:输入语句:hello!my friend,how are you?(注意单词的前后有空格)

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源**内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序**;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include《文件名》

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。

如下例所示:

#include//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函。

4楼:匿名用户

if(str[i]==' '||str[i]=='\0')这里 你是考虑到 结尾\0也会加一

但实际上

当str[i] == '\0'时 循环因为for(i=0;str[i]!='\0';i++)已经退出了

所以 这部分不会加一 导致出错

可以改成这样。

for(i=0;;i++)

先判断 累加再退出

5楼:

#include

intmain()

count+=1; //单词数=空格数+1printf("thenumberofwordsare:%d\n",count);

return0;//main()函数是有返回值的}

输入英文句子统计单词个数c语言

6楼:沧海雄风

||#include

intmain()

;gets(str);

while(str[i])//循环遍历句子字符串i++;

}printf("have[%d]words\n",words);

}youareastudent,sheisagirl.

have[8]words

pressanykeytocontinue

7楼:怪哉

1.单词与单词之间是空格:单词后面是空格

2.一句话说完之后有标点的话,就不是空格了:所以最后一个单词后面是标点

3.每段的开始是不是也有空格的,如果有要记得减去我想应该是 空格+标点-段落数*(段前空格数)=单词数都忘记怎么编写了

不知道对不对,大致我是这么理解的

8楼:匿名用户

统计空格的个数再加1应该就是单词个数!

9楼:匿名用户

#include "stdio.h"

main()

printf("the sectence have %d word\n",**t+1);}

c语言编写一个程序,在一维数组里输入一句英文,统计该句子里出现的单词个数 10

10楼:

声明一个较大的char型数组,待输入完成后依次检查数组元素,除第一个单词可能需要个别处理外,其余以空格后跟字母或其它字符后跟字母的就认为是一个单词,累加计数即可。**如下:

intmain(intargc,char*argv)

运行样例如下图:

11楼:匿名用户

#include

main()

}printf("there are %d words in the line.\n",num);}

12楼:

int countword(lpcstr strfilter)else

nret = 1;

while(1)

}error_out:

return nret;

}int main()

这个是比较简单的实现,没有考虑乱输一堆标点符号的问题,如果要做好点,就检查出每个被空格分开的子串,然后对每个子串用正则表达式匹配,剔出非英文单词的子串

13楼:匿名用户

include

int main()

14楼:匿名用户

没用过,不过你可以尝试一下统计空格符号和逗号,句号,当然,句子得很标准才行,一个单词后面跟一个空格或者逗号句号

15楼:匿名用户

是统计单词个数还是统计字母的个数?

c语言中关于统计一个英文句子中英文单词数问题

16楼:匿名用户

ascii码表 32 为 blank 空格。

方括号中应填入:p++;

while(*p==32)

[ p++; ]

其意思是:排除掉句子刚开始可能有前空格的情况。

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

17楼:李卓霖首席男友

相当bai于空格,可以看一下这个程du

序(用zhi于统计单词个dao数)

#include

void main()

printf(" 该英文句子由%d个单词组成。 .\n",num);

}有时为了给变量附一个无意义的初值通常用这个。呵呵

18楼:匿名用户

给字符变量c2赋值为空格

19楼:匿名用户

你说得对,就是相当于'\0'。

c语言实现,统计一句英文句子中某个单词出现的次数。

20楼:

#include

int findword(char*,char*);

void main()

int findword(char* allstr,char* findstr)

}allstr++;

}return wordnum;}以上

程序在vc6.0运行通过。

21楼:匿名用户

用string不行吗?

查找is,判断is前后字符是否为字母,若都不是,则计数器自增

22楼:梦想窗外

#include

#include

void main()

else

j = 0;

if (j == l2)

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

getchar();

getchar();}

c语言编写一个程序,在一维数组里输入一句英文,统计该句子里出现的单词个数?

23楼:匿名用户

#include

main()

}printf("there are %d words in the line.\n",num);}

C语言求助:输入英文句子,将每个单词的字母改成大写

1楼 匿名用户 给一个最粗糙的版本,能实现 include main printf s n str return 0 2楼 匿名用户 include include main 希望能帮到你! 3楼 匿名用户 include int main if array 0 a array 0 z array ...

C语言中的ptr一般是那个单词的缩写

1楼 匿名用户 pointer,指针。 2楼 匿名用户 这个是汇编语言中的吧 可能是c调用汇编子函数 要是个指针,可能是你定义的吧,关键字中没有ptr这个字符 c语言中ptr什么意思 3楼 天云一号 ptr在c语言中没bai有特别的含义,既不是关du键字也不是库zhi函数的函 dao数名。 可能是编...

求单词的英语句子,单词分别以j,c,y开头

1楼 匿名用户 jane cannot yield 珍妮不能屈服 2楼 毒药 joy es yet 求一个三个单词的英语句子,三个单词分别以j,c,y开头 顺序不变 30 3楼 匿名用户 january es yellow 我不知道对不对 每个词分别由h y c 开头的唯美英语句子 20 4楼 匿名...