[英]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.