C++ 中的嵌套 For 循环模式

joh*_*ohn -1 c++ nested-for-loop

在 C++ 中,当我制作嵌套 For 循环并尝试计算阶乘时...我没有得到正确的阶乘...我不知道为什么。例如,5 的阶乘是 120,但这里的结果是 34560。为什么?这是代码:

int fact=1;
    
for (int number=1; number<=10; number++) {
    for (int i=1; i<=number; i++)
       
           fact=fact*i;
           
           cout <<"factorial of "<<number<<"="<<fact<<"\n";
}      
Run Code Online (Sandbox Code Playgroud)

这是如图所示:嵌套 For 循环

Bil*_*ard 5

您需要fact为每个数字重新初始化。

int fact=1;
    
for (int number=1; number<=10; number++) {
    fact = 1;
    for (int i=1; i<=number; i++)
       
           fact=fact*i;
           
           cout <<"factorial of "<<number<<"="<<fact<<"\n";
}  
Run Code Online (Sandbox Code Playgroud)