怎么判断字符串中单词个数(用C语言)

编写一个C语言的程序判别一个字符串中单词个树?
单词间有空格,和不同的句子一样,例如:
I’m a chinese!

如果各单词间没有空格或其他标志符,是很难判断的.可能你要在你的程序里放一部英文字典,然后再查表决定有多少个单词了
有空格和符号就好办了.对每个字母循环判断,只要不是字母就给计数器加1,最后的计数就是单词个数.
判断是不是字母可以用比较字母整形值的办法,我记得好象大写的字母在23到48之间,小写的在51到76之间.可能不对,你查一下就知道了.
只要不在这两个数字范围内就不是字母.
另外对于特殊符号比如单引号,你可以查出它的数值,在判断的时候如果是单引号就跳过不计数.
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-26
#include<stdio.h>
void main()
{
char str[81];
int i,num=0,word=0;
char c;
printf("please input the string:\n");
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c==' ')
word=0;
else if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
}
定义一个数组来储存字符串,然后就从数组的下标为0开始判断到n,判断有多少个字母
第2个回答  推荐于2018-02-23
#include<stdio.h>
void main()
{
char str[81];
int i,num=0,word=0;
char c;
printf("please input the string:\n");
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c==' ')
word=0;
else if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
}本回答被提问者和网友采纳
第3个回答  2013-03-11
/*
============================================================================
Name : c8.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{

char arr[100];
int i,num=0,words=0;
printf("请输入字符串:\n");
fflush(stdout);
//接受用户输入
gets(arr);
//查找遍历查找空格
for(i=0;i<strlen(arr);i++){
//判断如果是空格,我们就设置words=0
if(arr[i]==' '){
words=0;
}else if(words==0){
num++;
words=1;
}
}
printf("单词的个数:%d",num);
return 0;
}

怎么判断字符串中单词个数(用C语言)
有空格和符号就好办了.对每个字母循环判断,只要不是字母就给计数器加1,最后的计数就是单词个数.判断是不是字母可以用比较字母整形值的办法,我记得好象大写的字母在23到48之间,小写的在51到76之间.可能不对,你查一下就知道了.只要不在这两个数字范围内就不是字母.另外对于特殊符号比如单引号,你可以...

如何用C语言统计字符串的字符个数
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11’,'aa’)='11aa’;2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。例:copy(‘abdag’,2,3)=’bda’3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长...

c语言输入一行字符串,如何统计其中的字母和数字的个数
int other=0;char input[1000];int i;scanf("%s",input);for(i=0;input[i]!='\\0';i++){ if(input[i]>=65&&input[i]=97&&input[i]<=122){ letters++;} else if(input[i]==' '){ space++;} else if(input[i]>=48&&input[i]<=57){ digit++;} else { other++;} } ...

C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分...
} printf("单词个数为: %d\\n", count);return 0;} 这个程序首先定义了一个大小为100的字符数组str,用于存储用户输入的字符串。通过使用scanf函数读取用户输入的字符串。接着,程序通过遍历字符串来统计单词的个数。程序假设单词之间至少有一个空格分隔,并且不会连续出现多个空格。最后,程序输出统计...

c语言中怎样统计字符串中包含英文字母的个数?
c语言中要统计字符串中包含英文字母的个数可以参考以下内容:main(){ char str[100],*p;int num[4],i;p=str;gets(str);for(i=0;i<4;i++)num[i]=0;for(;*p!='\\0';p++){ if((*p<='z'&&*p>='a')||(*p<='Z'&&*p>='A')) num[0]++;else if(*p==' ') num[1]++...

C语言编程 输入一段英语文本 判断单词数 字符数和空格。求大神...
c==' ') {word=0; \/\/是空格就为0 j++;} else if(word==0)\/\/不是空格就判断之前有没有空格 { word=1;\/\/复位用来判断空格是否存在的开关 num++;\/\/如果之前有空格,单词数加1 } printf("输入字符串共有%d个字符.\\n",i); printf("输入字符串共有%d个空格.\\n",j);...

C语言如何判断一个字符串变量里有多少个字符??
include<string.h> 在调用strlen();如int len=strlen(s);

用C语言编写,统计各种字符个数
1、首先打开Visual Studio软件,新建一个Win32应用程序,并且在项目下新建C语言文件,如下图所示 2、然后我们在C语言文件中导入程序要用到的库文件,如下图所示 3、接下来我们就开始实现字符统计的功能,主要是挨个读取字符串中的字符,然后判断字符的类别,如下图所示 4、最后我们运行程序,输入一个...

c语言检测单词数问题?
if (!isspace(ch) && !inword)表示遇到一个单词的首字母(当前字符非空白且前一个字符是空白时,单词数量words累加1)。if (isspace(ch) && inword)表示遇到一个单词后的第一个空白(当前字符是空白且前一个字符是非空白时)连续多个空白,多余空白符会被忽略。PS:单纯isspace来判断,计算单词数量...

c语言字符串包含字符个数怎么看
c语言字符串中,可以含有 “转义字符”(escape sequence),例如: \\r \\n \\t \\\\ 八进制数码 \\0123 十六进制数码 \\xab, 不可见字符串结束符 \\0 等。所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。程序例子,判断 "abc\\0123\\xab\\n" 的字符串长度和占用内存...

相似回答