C语言怎么求0 2 4 6 .....2n的阶乘之和啊

如题所述

#include <stdio.h>
//求n!的值
int func(int n)
{
    if(n == 0 || n==1)
        return 1;
    else
        return n*func(n-1);
}
int main()
{
    int n,i,sum=0;
    printf("输入n的值: ");
    scanf("%d",&n);
    if(n<=0)
    {
        printf("Input Error!\n");
        return -1;
    }
    for(i=0;i<=n;i++)
    {
        sum+=func(2*i);
    }
    printf("0!+2!+4!+...+(2n)!= %d\n",sum);
    return 0;
}

示例运行结果:

输入n的值: 3

0!+2!+4!+...+(2n)!= 747

输入n的值: 2

0!+2!+4!+...+(2n)!= 27

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-01
#include "stdio.h"
int myfact(int n){
    if(n==1 || n==0)
        return 1;
    return n*myfact(n-1);
}
int main(void){
    int i,n,s;
    printf("Input n(int 0<=n<7)...\nn=");
    if(scanf("%d",&n)!=1 || n<0 || n>6){
        printf("Input error, exit...\n");
        return 0;
    }
    for(n<<=1,s=i=0;i<=n;s+=myfact(i),i+=2);
    printf("The result is %d\n",s);
    return 0;
}