输入一行字符,统计有多少个单词
解题思路:
关键:怎样确定出现一个新单词
方法:从第一个字符逐个进行检查,判断此字符是否为新单词的开头,如果是num 1,最后num的值就是单词总数
判断是否出现新单词,可以由是否由空格出现来决定(连续若干个空格作为出现一次空格,一行的开头空格不统计在内),若出现某个字符为非空格,而它前面的字符是空格,则表示新单词开始,此时num 1,如果当前字符为非空格,前面的字符也是非空格,则表示还是原来的单词,num不用加1
#include
int main()
{
char string[100];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='';i )
if(c==' ')
word = 0;
else if(word==0)
{
word = 1;
num ;
}
printf(There are %d words in this line:
,num);
return 0;
}
http://www.bkjia.com/cjjc/1027560.htmlwww.bkjia.comtruehttp://www.bkjia.com/cjjc/1027560.htmlTechArticle输入一行字符,统计有多少个单词 解题思路: 关键:怎样确定出现一个新单词 方法:从第一个字符逐个进行检查,判断此字符是否为新单...
检测字符串中有多少个单词改新--C语言谭浩强版例6.8
例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
原解题思路:
从第一个字符开始逐个字符进行检查,判断此字符是否是新单词的开头。判断是否出现新单词,可以由是否有空格出现来决定。如果测出某一个字符为非空格,而它的前面的字符是空格,则表示新的单词开始了。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char string[81];
int i, num=0,word =0;
char c;
gets(string);
for(i=0; (c=string[i])!='\0'; i ) //只要不是字符'\0'就继续循环
{
if(c==' ')
word=0;
else if (word==0)
{
word=1;
num ;
}
}
printf("There are %d words in the line.n", num);
return 0;
}
vnsc5858威尼斯城官网,改新版思路:
单词后面出现一个不是字母的字符,则这个单词结束。扩展了字符串中的标点
/******************************************************
6.8 Count how many words
Plan:
If a charactor is not a letter, and before it there is a letter,
count add
CREATE----------------------------
By: Idooi Liu
Time: 2015/09/27-1022
----------------------------------
******************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool ifALetter(char charactor);
int main(void)
{
int i, number=0;
char stringMe[100];
gets(stringMe);
for(i=0; i<100; i )
{
if(stringMe[i 1]=='\0') //出现字符'\0'结束循环
{
if(ifALetter(stringMe[i]))
number ;
break;
}
//单词的最后一个字符判断,下一个字符不是字母,单词结束
if(ifALetter(stringMe[i]) && !ifALetter(stringMe[i 1]))
number ;
}
printf("There are %d words in the line.n", number);
getchar();
return 0;
}
//判断字符是否是字母
bool ifALetter(char x)
{
if((x>64 && x<91) || (x>96&&x<122))
return true;
else
return false;
}
http://www.bkjia.com/Cyy/1058729.htmlwww.bkjia.comtruehttp://www.bkjia.com/Cyy/1058729.htmlTechArticle检测字符串中有多少个单词改新--C语言谭浩强版例6.8 例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开 原解题思路:...
编辑:计算机教程 本文来源:输入一行字符,统计有多少个单词
关键词: