C ++读取未知数量的整数以输出和输出总和

问题描述 投票:-6回答:2

我是c ++的新手,我正在尝试编写自己的程序版本,该程序打印从cin读取的未知数量的整数的总和。

我所涵盖的唯一预处理器指令是#include <iostream>

#include <iostream>

int main()
{
    int numbers;
    int sum = 0;

    for (int i = 0; i < numbers; i++)
    {
        std::cin >> i;
        sum += i;
    }
    std::cout << sum << std::endl;

    return 0;
}

产量

cl /EHsc /W4 sum_of_set_of_integers.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26433 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

sum_of_set_of_integers.cpp
a:\c++ tutorial\michael_dawson\sum_of_set_of_integers.cpp(8) : warning C4700: uninitialized local variable 'numbers' used
Microsoft (R) Incremental Linker Version 14.14.26433.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:sum_of_set_of_integers.exe
sum_of_set_of_integers.obj

A:\C++ Tutorial\Michael_Dawson>sum_of_set_of_integers
1
1
1
1
1

我无法摆脱循环。如果你能提出建议,那将是非常有帮助的..

提前谢谢了。

c++ visual-studio loops cin
2个回答
4
投票

这里的根本问题是你事先不知道会有多少整数进来,所以你不能使用那个for循环 - 对于numbers没有明显的价值。

相反,继续读取值直到输入结束:

while (std::cin >> i)
    sum += i;

当尝试的读取最终失败时,while循环将退出。


0
投票

编译器建议,请仔细阅读。

a:\c++ tutorial\michael_dawson\sum_of_set_of_integers.cpp(8) : warning C4700: uninitialized local variable 'numbers' used

另请尝试遵循0错误和0警告原则。

使用while循环继续读取并添加整数直到输入结束。更新的代码应如下所示:

int main()
{
    int sum = 0;
    while (std::cin >> i)
        sum += i;
    std::cout << sum << std::endl;

    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.