简答题 编写求阶乘的函数,并调用它计算表达式1!+3!+5!+...+n!(n为奇数)的值。

简答题

编写求阶乘的函数,并调用它计算表达式1!+3!+5!+...+n!(n为奇数)的值。

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    /*
    	1!+3!+...20!
    */
    
    int i,j;
    double sum=0,sum1=1;
    
    
    for(i=1;i<=20;i+=2)
    {
    	sum1=1;
    	//计算i的阶乘
    	for(j=1;j<=i;j++)
    	{
    		sum1*=j;		
    	}
    	printf("%d!=%0.0lf\n",j-1,sum1);
    	sum+=sum1;
    }
    printf("1!+3!+...20!=%0.0lf",sum);
}
long jc(long n)
{
    it(n==1)
        return 1;
    return n*jc(n-1);
}

void main()
{
    int n;
    scanf("%d",&n);
    long sum = 0;
    for(int i=1;i<n;i+=2)
        sum+=jc(i);
    printf("和为%d\n",sum);
}

jc函数为求阶乘的函数