阶乘(递归)
#include <stdio.h>
int Fac(int n);
int FacAdd(int n);
int main()
{
int n;
while(1)
{
printf("请输入您需要求的阶乘值:");
scanf("%d", &n);
printf("%d的阶乘:%d\n", n, Fac(n));
printf("%d的阶乘之和:%d\n", n, FacAdd(n));
}
}
//递归求阶乘
int Fac(int n)
{
if(n == 1)
return 1;
else
return n * Fac(n - 1);
}
//阶乘相加
int FacAdd(int n)
{
if(n == 0)
return 0;
return Fac(n) + FacAdd(n-1);
}