我有一个问题,我需要制作一个简单的程序,你输入2个数字,然后使用它们作为界限,并将这些数字和它们之间的所有数字相乘。 即 1和4 1 * 2 * 3 * 4 = 24 这就是我所拥有的,但我无法弄清楚如何让它做到这一点,我最终使它将最后两个数字相乘而不是全部。我想这是因为我无法弄清楚如何在循环中拉出数字,所以我可以将它乘以它给我的下一个数字。
int main()
{
int num1,
num2,
product = 0,
total = 0;
cout << "Enter any two integers(with a space in between: " << endl;
cin >> num1;
cin >> num2;
for (int i = num1; i < num2; i++)
{
product = i * (i + 1);
}
cout << "The total is: " << product << endl;
return 0;
}
我确信我需要做一些其他事情才能将产品拿出来并能够将产品乘以下一个产品,但我无法让它发挥作用。我也不知道是否可以将它用于繁殖。
答案 0 :(得分:0)
由于您的行,您遇到了这个问题:product = i * (i + 1);
发生的事情是product
变量被i
和i++
的产品覆盖。这未添加到product
的先前值。这就是为什么你的程序只将最后两个数字相乘而不是全部相加的原因。
以下代码应按预期运行:
int main()
{
int num1,
num2,
product = 1; // modified. Plus, total is unused, so you can remove it
//total = 0;
cout << "Enter any two integers(with a space in between: " << endl;
cin >> num1;
cin >> num2;
for (int i = num1; i <= num2; i++) // modified
{
product = product * i ; // modified
}
cout << "The total is: " << product << endl;
return 0;
}