admin 管理员组文章数量: 1086019
【番杰的问答笔记】输入英文句子,统计其中的单词个数
1. 问题
输入一行英文句子,统计其中的单词个数。例如,输入”How are you.”,则输出3,请看下下面的代码问题出在哪里?
#include <stdio.h>
#include <string.h>int main(void)
{int a,b,i,n;char str[100];gets(str);b=strlen(str);for(i=0;i<b;i++){if(str[i]==' '){n++;}printf("%d",n);return 0;} }
2. 回答
你的n在定义的时候没有赋值为0;
所以打印出来的值会是一个随机数;
另外后面的printf();和return 0;应该写在for循环的外面;
再另外,在打印n的值时需要加一;
就以输入“how are you”为例;这个字符串中只有两个‘ ’(空格),但是却有三个单词,单词数会比空格数多一,所以结果加一。
你的代码修改后:
#include <stdio.h>
#include <string.h>int main(void)
{int a,b,i,n = 0; //赋初值 char str[100];gets(str);b=strlen(str);for(i=0;i<b;i++){if(str[i]==' '){n++;}}printf("%d\n",n+1);//加一return 0;
}
我自己写的代码:
#include <stdio.h>
#include <string.h>int main(void)
{int n = 0,ch;printf("请输入字符串:");while((ch=getchar())!='\n'){if(ch == ' ')n++; }printf("%d",n+1);return 0;
}
本文标签: 番杰的问答笔记输入英文句子,统计其中的单词个数
版权声明:本文标题:【番杰的问答笔记】输入英文句子,统计其中的单词个数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1693411041a220364.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论