A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 楠瓜果 中级黑马   /  2014-7-12 23:59  /  1205 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/

4 个回复

倒序浏览
/*
题目:
编写一个函数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()
{
    //初始化为-1 使之能进入while循环
    int n1 = -1;
   
    //保证输入的是一个正整数
    while(n1 < 0)
    {
        printf("请输入一个正整数: ");
   
        scanf("%d",&n1);
    }
    //调用函数
   int print = pieAdd(n1);
   
    //打印值
    printf("和为:%d\n",print);
    return 0;
}

int pieAdd(int n)
{
    int sum = 0;
    //循环遍历
    for(int i = 1; i <= n; i++)
    {
        //求完一次阶乘要重新赋值为1,进行下一个数求阶乘
        int jiecheng = 1;
        
        for(int j = 1; j <= i; j++)
        {
            //求阶乘
            jiecheng *= j;
        }
        
        //求和
        sum += jiecheng;
    }
   
    return sum;
}
回复 使用道具 举报
楼上正解
回复 使用道具 举报
大神好多啊,都学的那么快,
回复 使用道具 举报
又见大神了~!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马