一只小菜鸟-_- 2021-12-18 18:25 采纳率: 33.3%
浏览 16

编译错误,不知道是不是头文件的问题。用的是VS2010

编译错误,可是我调试的是对的,请求帮忙

img

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
long int fac(int n){
    if((n==0)||(n==1))return 1;
    else return n*fac(n-1);
}
int main(){
    long int n;
    int m=-1;
    long int sum=0;
    cin>>n;
    if(n<=0)cout<<"Incorrect input!";
    else {
        for(int i=1;i<=n;i++){
            m*=-1;
            sum+=m*fac(i);
        }
        if((sum<=INT_MAX)&&(sum>=INT_MIN)) cout<<sum;
        else cout<<"Out of range!";
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • _GX_ 2021-12-18 18:30
    关注

    加上

    #include <climits>
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月18日