递归

来源:互联网 发布:mac vs 编辑:程序博客网 时间:2024/06/07 05:50

用递归法求n的阶乘

#include <stdio.h>
void main()
{
   
float f(int);//函数原型
   
int n;
   
float sum;
    printf(
"你想求谁(整数)的阶乘:");
    scanf(
"%d",&n);
    sum
=f(n);
    printf(
"%d!=%.2f/n",n,sum);
}

float f(int n)
{
   
float sum;
   
if(n<0) printf("data error./n");
   
else if(n==0||n==1) sum=1;//加n==0是因为0也可以求阶乘,调用函数时可以给实参n赋值为0
    else sum=f(n-1)*n;
   
return sum;
}


写一个函数,求:f(n)=1+2+3+……+n的值

  long Sum(int n)   {     if (n==1)        return 1;      return (Sum(n-1))+n;   }