我正在做基本编程,以相反的顺序打印n的表,其中n是一个正整数。 这是我的方法:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
cin >> n;
int multiplier = 10;
while (multiplier--)
{
n = n*multiplier;
cout << n << endl;
}
}
但是它的输出不是我期望的。我可以知道代码中的问题在哪里吗?另外,请提供一些建议,因为两个月后我将接受MS实习面试。
我的输入是
2
输出结果是
18
144
1008
6048
30240
120960
362880
725760
725760
0
答案 0 :(得分:0)
我想您可能不想每次迭代都更改n
,所以建议您将计算分配给另一个(作用域)变量:
int main()
{
int n;
cin >> n;
int multiplier = 10;
while (multiplier--)
{
int nn = n*multiplier;
cout << nn << endl;
}
}
另一件事:您可能希望实际看到第一个打印的10 * n(而不是结尾的“ 0”),因此也可以将n
乘以multiplier+1
(或执行改为do-while
循环。