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 展开
当m为0时输入结束。
我写的代码是:
while(cin>>bit>>m>>n,bit!=0)
可是还是要Ctrl+Z才能使输入结束!
谢谢!
谢谢各位,我在自己的机子上每一个方案都试了,但是都要Ctrl+Z才能使输入结束!
我机子的环境为Windows XP+VS2005 展开
5个回答
展开全部
楼主想多了.. 其实我估计原因很简单..
不知道楼主的测试用例怎么输入的?
1 2 3
4 5 6
0
这个样子吗?
那这样的话, 最后一组你只有一个0, 当然要继续读了..
改成
while (1)
{
cin>>m;
if (m == 0) break;
cin>>a>>b;
...
}
不知道楼主的测试用例怎么输入的?
1 2 3
4 5 6
0
这个样子吗?
那这样的话, 最后一组你只有一个0, 当然要继续读了..
改成
while (1)
{
cin>>m;
if (m == 0) break;
cin>>a>>b;
...
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(1)
{
cin>>bit>>m>>n;
if(bit==0)break;
....
}
{
cin>>bit>>m>>n;
if(bit==0)break;
....
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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的
或者
while(scanf("%d%d%d",&m,&A,&B)!=EOF,m)
或者
while(cin>>m>>A>>B)
{
if(m==0) break;
}
不需要ctrl+Z的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这么写吧
while(scanf("%d%d%d",&bit,&m,&n)&&bit!=0)
{
}
while(scanf("%d%d%d",&bit,&m,&n)&&bit!=0)
{
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询