首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

读取数量不定的输入数据,该怎么处理

2013-10-15 
读取数量不定的输入数据摘自《c++ primer》第五版1.4.3代码为:#include iostreamusing namespace stdint

读取数量不定的输入数据
摘自《c++ primer》第五版1.4.3

代码为:
#include <iostream>
using namespace std;
int main()
{
    int sum,value=0;
    while(cin >> value)
              sum+=value;
    cout << sum;
    system("pause");
    return 0;
}

测试环境:devc++

结果:
(1)书中
      如果我们输入
                  3 4 5 6
      则程序会输出
                  Sum is: 18
(2)我的程序
      不停的输入,敲回车后也能继续输入,只有输入错误时才执行cout,并且输出结果不是输入数的总和,是一个固定数(这个是溢出啦?)

以上就是我这个菜鸟的问题了,谢谢大家能来解答。

[解决办法]
sum 没初始化

[解决办法]
 ctrl+z(结束输入)
[解决办法]
int sum,value=0;
这个只是把value初始化了,而sum没有初始化,很可能sum初始状态是个很大的数,而造成错误,正确的是初始化时要
int sum,value;
sum=0,value=0;
另外你的这个输入没有结束判断啊,意思就是可以一直输入下去
while(cin >> value)
              sum+=value;
建议加入结束判断,例如输入一个后先判断一下是不是结束标识,而决定是否继续输入

热点排行