#include
float fac(int n);
void main()
{int i;
float s(0);
cin>>i;
s+=fac(i)+fac(i-2);
cout<<"s="<}
float fac(int n)
{ float f;
if(n<0)cout<<"n<0,error!"<
if(n==1)f=1;
if(n>1) f=fac(n-1)*n;
return(f);
兄弟递归也就这样,多注意函数返回值。
不喜欢用递归啊。
void main()
{
int i,res;
res = 0;
for (i=2; i<=12; i+=2) res += J(i);
cout<
int J(int k)
{
int i,res;
res=1; //k<=1时都认为k!=1
if (k>1) for (i=1; i<=k; i++) res*=i; //k>1时再计算
return (res);
}
先写一个子函数实现阶乘,再在一个循环里面调用这个子函数便是了:
子函数 long jiecheng(int i)
{
long sum=1;
int j;
for(j=1;j<=i;j++)
sum*=j;
return sum;
}
int t=1,s=0;
for(i=1;i<=n;i+=2)
for(j=1;j<=i;j++)
t=t*i;
s+=t;
return s;
int multi(int x)
{
if(x==0||x==1) return 1;
else return x*multi(x-1);
}
int main()
{
int sum=0;
for(int i=2;i<=12;i+=2)
sum += multi(i);
return 0;
}