注册 登录
编程论坛 C++教室

c++读入未知数目的输入问题,请大虾们指教。。。

silence123 发布于 2009-11-14 16:11, 1624 次点击
#include <iostream>
int main()
{
   int sum=0, value;
   while (std::cin>>value)
   {
      sum+= value;
   }
   std::cout << "sum is: " << sum << std::endl;
   system("pause");
}


以上程序,我在Dev-C++编译器中编译运行,输入一组数字后,没有任何反应,不知道是什么问题,请大虾们指教。。。谢谢!
8 回复
#2
qlc002009-11-14 16:16
你没有设置结束标志符,所以可以一直输入。应该在while里面加一个结束判断标志

[ 本帖最后由 qlc00 于 2009-11-14 16:25 编辑 ]
#3
silence1232009-11-14 16:44
请问该如何加?
#4
qlc002009-11-14 17:31
while(cin>>value&&value!=0)这个就是设置结束标志,当输入0时程序就结束!
#5
silence1232009-11-14 17:49
还是不行,输入几个数运行还是没有反应...
#6
kspliusa2009-11-14 18:30
怎么可能啊
“while(cin>>value&&value!=0)这个就是设置结束标志,当输入0时程序就结束! ”
是可以的啊!我用的也是DEV
#7
qlc002009-11-14 18:41
while(cin>>value&&value!=0)如果你想结束程序的时候可以输入一个0.0就是判断结束标志。你的头文件最好是#include<iostream.h>后面的就不用加std::

[ 本帖最后由 qlc00 于 2009-11-14 18:42 编辑 ]
#8
平凡不在2009-11-14 21:41
#include <iostream>
int main()
{
   int sum=0, value;
   while (value)
   {std::cin>>value;
      sum+= value;
   }
   std::cout << "sum is: " << sum << std::endl;
   system("pause");
}
这样就对了
#9
silence1232009-11-17 14:04
还是不行,运行,然后输入几个数字,按回车键,还是没有反应。顺便说一下,我用的是Dev-C++编译器。是不是因为它的原因?
1