练习一
递归计算n!
#include <myhead.h>
int fun(int n)
{
if(n == 1)
return 1;
else
return n * fun(n - 1);
}
int main(int argc, const char *argv[])
{
int n;
printf("Please enter n : ");
scanf("%d", &n);
if(n == 0)
printf("0! = 1\n");
else
printf("%d! = %d\n", n, fun(n));
return 0;
}
练习二
递归计算各个位数字之和
#include <myhead.h>
int fun(int n)
{
if(n == 0)
return 0;
else
return n%10 + fun(n / 10);
}
int main(int argc, const char *argv[])
{
int n;
printf("Please enter n : ");
scanf("%d", &n);
printf("The sum is %d\n", fun(n));
return 0;
}