Marshall325 2022-10-13 19:23 采纳率: 100%
浏览 28
已结题

c++实现阶乘计算出现错误没看出来

求各位指教 n*--n出现了什么问题


```c++
#include<iostream>
using namespace std;
int main()
{
    int n,m;
    cout<<"\t----------------------------------------------n!计算器---------------------------------------------------\t"<<endl;
    cout<<"请输入一个整数n;"; 
    cin>>n;
    
    while(n>1)
    m=n*--n; 
    
    cout<<"n!="<<m<<endl;
    return 0;
        
}

```

  • 写回答

1条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-13 19:26
    关注

    m需要赋初值1,--n也会让n等于-1后的值,然后再跟m相乘,所以不对,而且是m = m * n--;

     #include<iostream>
    using namespace std;
    int main()
    {
        int n,m=1;
        cout<<"\t----------------------------------------------n!计算器---------------------------------------------------\t"<<endl;
        cout<<"请输入一个整数n;"; 
        cin>>n;
        
        while(n>1){
            m=m*n--;  
        } 
        
        cout<<"n!="<<m<<endl;
        return 0;
            
    }
     
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月13日