繁体   English   中英

用c ++添加整数

[英]Adding integers with c++

我试图用c ++编写一个程序,允许你输入10个数字,并使用for循环接收这些数字的总和。 但是,我遇到一个问题,我没有得到添加的整数,而是得到最后2个数字的总和。

#include <iostream>
using namespace std;

int main ()
{
    int i;
    int number;

    for(i; i < 10; i++)
    {
        cout << "enter a number" << endl;
        cin >> number;
        if( i < 10)
            number+= number;
    }

    cout << number;
    return 0;
}

1)你永远不会初始化i ,你应该在for循环中这样做。

for(int i=0; i < 10; ++i)

你也不需要:

if( i < 10 )

因为根据你的for循环条件,这永远不会是false

2)您还需要初始化number

int number = 0;

3)你不应该直接cin number否则你将每次都取代总数。 例如,您可以在for循环中执行此操作。

int temp = 0;
cin >> temp;
number += temp;

总结如果您更正了上述三个问题,修改后的代码将如下所示:

int main ()
{
    int number = 0;

    for(int i=0; i < 10; ++i)
    {
        cout << "enter a number" << endl;
        int temp = 0;
        cin >> temp;
        number += temp;
    }

    cout << number;
    return 0;
}

当你写cin >> number; 你到目前为止正在取代你的金额。 您需要将用户输入转换为单独的变量,然后添加它。 就像是:

for(i = 0; i < 10; i++)
{
    cout << "enter a number" << endl;
    int input;
    cin >> input;
    number += input;
}

有几件事。 在for循环中使用它之前,需要初始化i

for(int i=0; i<10; i++)

此外,您使用相同的变量来获取cin中的数字,因为您用来存储总和。 您应该使用两个单独的变量。

下面是要更改的内容列表以及一个下面有一些修改的工作程序。您必须先初始化变量,然后才能以任何有意义的方式使用它们。 初始化意味着分配一个初始值,但它也要求你声明变量并且它们被正确定义(例如循环变量我没有被定义为int)因此,你必须初始化for循环变量i。 您还必须通过将数字更改为0来初始化数字
2.为输入和总和使用不同的数字,因为在阅读时只会覆盖任何旧值。 请注意,您不需要为此数字指定值,因为您正在从输入流中读取该数字

    int sum=0,n;//n is input

    for(int i=0; i < 10; i++)
    {
        cout << "enter a number" << endl;
        cin >> n;
        sum+= n;

    }

    cout << sum;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM