作业帮 > 综合 > 作业

C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 19:25:13
C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开
#include
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);
}
运行情况如下:
I am a boy.
There are 4 words in the line.
就是这里的if(c=='') word=0;
else
if(word==0)
{ word=1; num++; }
看不懂啊 开头如果c==‘’就说明出现单词word=0是表示未出现单词 但是下面word==0了 是怎么回事啊 还有这个循环是怎么循环的哦 我是菜鸟 很笨.
还有就是word==0为什么是表示输入得是前一个字符为空格 关键就在这里啊 一定要详细点 一楼的我看不很明白 关键点要说清楚啊
C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开
你弄的太乱,我整理了一下:
#include
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);
}
你说的这句
if(c==' ') word=0;
else if(word==0){
word=1;
num++;
}
当c=空格时,令word=0;不执行else if语句
直到c!=空格时(注意连续多个空格的处理),不执行if语句,执行else if语句
由于前面令word=0,所以到空格后第一非空格字符时,word是=0的,else if判断成功,
执行word=1; num++;,第二个非空格字符时,word就=1了,就不执行word=1; num++;了
这样一个单词num就加一次
由于初始时令word=0,故第一单词的第一个字母时,num就等于1了
好了,就说这么多,不懂再问我
C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开 c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开 统计单词个数描述 输入一行字符,统计其中的单词的个数.各单词之间用空格分隔,空格符可以是多个.输入 一行字符输出 单词个 C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分隔,空格数可以是多个! C语言统计符号程序设计输入三行文字,找出其中有多少个空格和多少个单词(规定单词间以一个或多个空格分开) 用C语言编程:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数. 关于C语言编程的问题.题目要求输入一个英文句子,单词之间用空格号隔开,找出句子里面一共多少个单词. 单词统计--c语言Description从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个.I 输入一行字符,分别统计出其中英文字母,空格,数字字符,其它字符及单词的个数. c语言以键盘输入一串英文字符串,给各个单词之间以空格分开,统计其中有多少个英文单词(用基础方法做 急 统计符号 C语言输入三行文字,找出其中有多少个空格和多少个单词(规定单词间以一个或多个空格分开).若一个单词恰好在行末结 用C语言编写一段程序,输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数.