黑马程序员技术交流社区

标题: 邦下忙 [打印本页]

作者: 楠瓜果    时间: 2014-7-12 23:59
标题: 邦下忙
/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/

作者: ★Joean_Zhou    时间: 2014-7-13 10:16
/*
题目:
编写一个函数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;
}
作者: AndyWang    时间: 2014-7-13 11:24
楼上正解
作者: 灰色头像    时间: 2014-7-13 12:40
大神好多啊,都学的那么快,
作者: 零下_1°    时间: 2014-7-13 12:53
又见大神了~!




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