PTA存档简单题之《函数中return的可以是式子》

本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。

函数接口定义:

double fact( int n ); double factsum( int n );

函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+...+n! 的值。题目保证输入输出在双精度范围内。

话不多说,上个代码,娱乐消遣一下,注意一下递归的用法

double fact(int n){
    if(n == 0){ //当n等于0时,直接返回1
        return 1;
    }
    else{ //否则,递归计算n的阶乘
        return n * fact(n-1);
    }
}

double factsum(int n){
    int sum=0;
    for(int i=1;i<=n;i++){
        sum+=fact(i); //计算1!+2!+...+n!的值
    }
    return sum;
}

你可能感兴趣的:(算法,开发语言,c语言,数据结构)