c++怎么写一个程序,输入一行英文,统计单词个数,并遇到字母q停止输入

不想用c语言的逐个字符判断的那种,有没有其它方法,比如:voidmain(){charc[20];intn=0;while(cin>>c){n++;}cout<<n;}这... 不想用c语言的逐个字符判断的那种,有没有其它方法 ,比如:
void main()
{
char c[20];
int n=0;
while(cin>>c)
{
n++;
}
cout<<n;
} 这样写可以计算单词个数,怎么能遇到q停止输入?谢谢
展开
 我来答
zgb_4
2011-08-17
知道答主
回答量:10
采纳率:0%
帮助的人:6.9万
展开全部
#include<iostream.h>
#include<string.h>
void main()
{

char c[20];
int n=0;
while(cin>>c)
{
if(strchr(c,'q')) break;
n++;
}
cout<<n;

}
这样就行了。
追问
这么写是遇到含有字母q的单词就退出了,但是我想遇到这样的单词不退出,只有遇到字母q时才退出,怎么写呢,谢谢
追答
#include
#include
void main()
{

char c[20];
int n=0;
while(cin>>c)
{
if(strchr(c,'q')&&strlen(c)==1) break;
n++;
}
cout<<n;

}
加点东西就行了。
小小不服
2011-08-17 · TA获得超过338个赞
知道答主
回答量:160
采纳率:0%
帮助的人:239万
展开全部
void main()
{
char c[20];
int n=0;
while(cin>>c)
{
if (c=='q')
break;
n++;
}
cout<<n;
}
更多追问追答
追问
这么写是错的
追答
你是要按到q就停止  还是? 把那个c[20] 改 为c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-17
展开全部
int main()
{
char c[20];
char* d;
int n = 0;
do
{
cin>>d;
c[n] = d;
n++;
}while(c[n-1]=q || n>=20)
cout<<n;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式