如题所述
#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!的值
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;
}
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;
}