我正在尝试用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;
}
答案 0 :(得分:2)
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;
}
答案 1 :(得分:0)
当你写cin >> number;
时,你到目前为止正在替换你的金额。您需要将用户输入转换为单独的变量,然后添加它。类似的东西:
for(i = 0; i < 10; i++)
{
cout << "enter a number" << endl;
int input;
cin >> input;
number += input;
}
答案 2 :(得分:0)
有几件事。在for循环中使用它之前需要初始化我
for(int i=0; i<10; i++)
此外,您使用相同的变量来获取cin中的数字,因为您用来存储总和。您应该使用两个单独的变量。
答案 3 :(得分:0)
以下是要更改的内容列表以及下面稍作修改的工作程序
1.您必须先初始化变量,然后才能以任何有意义的方式使用它们。
初始化意味着分配初始值,但它还要求您声明变量并且它们已正确定义(例如,循环变量未定义为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;