acm中如何用C++判断当输入是0时表示输入数据结束

例如:输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。我写的代码是:while(cin>>bit>>m>>n,bit!=0... 例如:输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。
我写的代码是:
while(cin>>bit>>m>>n,bit!=0)
可是还是要Ctrl+Z才能使输入结束!

谢谢!
谢谢各位,我在自己的机子上每一个方案都试了,但是都要Ctrl+Z才能使输入结束!

我机子的环境为Windows XP+VS2005
展开
 我来答
风若远去何人留
推荐于2017-09-07 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450135
专业C/C++软件开发

向TA提问 私信TA
展开全部

可以在输入后,对变量值进行判断。

即输入的时候无条件输入,判断如果输入的值为0,则退出循环即可。

代码如下:

int x;//要输入的数据。
while(1)//无条件循环。
{
    cin>>x;//输入数据。
    if(x == 0) break;//如果为0,退出循环。
    
    //其它的代码。
}
deitytoday
2010-04-16 · TA获得超过349个赞
知道小有建树答主
回答量:242
采纳率:0%
帮助的人:314万
展开全部
楼主想多了.. 其实我估计原因很简单..

不知道楼主的测试用例怎么输入的?
1 2 3
4 5 6
0
这个样子吗?

那这样的话, 最后一组你只有一个0, 当然要继续读了..

改成
while (1)
{
cin>>m;
if (m == 0) break;
cin>>a>>b;
...
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NebulaSoft
2010-04-15 · TA获得超过620个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:320万
展开全部
while(1)
{
cin>>bit>>m>>n;
if(bit==0)break;
....
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友42e02c5
2010-04-15 · TA获得超过1231个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:541万
展开全部
while(cin>>m>>A>>B,m)
或者
while(scanf("%d%d%d",&m,&A,&B)!=EOF,m)
或者
while(cin>>m>>A>>B)
{
if(m==0) break;
}

不需要ctrl+Z的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9abb230
2010-04-15 · 超过20用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:70.2万
展开全部
你这么写吧
while(scanf("%d%d%d",&bit,&m,&n)&&bit!=0)
{

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式