黑马程序员技术交流社区

标题: 帮忙看下有问题吗?或者有没有更高级的方法 [打印本页]

作者: 楠瓜果    时间: 2014-7-14 14:11
标题: 帮忙看下有问题吗?或者有没有更高级的方法
/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/


#include <stdio.h>
int pieAdd(int n);

int main(int argc, const char * argv[])
{
    int num;
    printf("请输入一个正整数\n");
    scanf("%d",&num);
    int sum=pieAdd(num);
    printf("阶乘后的和为%d\n",sum);
    return 0;
}

int pieAdd(int n)
{
    int sum=1;
    int pie=0;
    for (int i=1; i<=n; i++)
    {
        sum*=i;
        pie+=sum;
    }
    return pie;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2