第036讲,递归例题
这道题理解的实在很模糊,以置于都不知道怎么说明问题,哎~~~直接代码上图,两张力拼成一张图,不给上传这大的一张图
/*
用递归的方式求n的阶乘
*/
#include <stdio.h>
double recursion(double n);
void main()
{
double n,result;
printf("请输入递归数值:");
scanf("%lf",&n);
result=recursion(n);
printf("%lf的递归值=%lf\n",n,result);
}
double recursion(double n)
{
double temp;
if(n<0)
{
printf("n<0,input error!\n");
}
else if (n==0||n==1)
{
temp=1;
}
else
{
temp=recursion(n-1)*n;
}
return temp;
}
感觉很不错够看一阵子了啊 #include<stdio.h>
int recursion(int i);
int main()
{
int i,result;
printf("请输入一个整数:");
scanf("%d",&i);
result = recursion(i);//直接计算我就不管非法输入了啊
printf("!%d=%d\n",i,result);
return 0;
}
int recursion(int i)
{
if(i == 1)
{
return 1;
}
else
{
return i * recursion(i-1);
}
} 期待高人{:1_1:}{:1_1:}{:1_1:}{:1_1:} 牡丹花下死做鬼 发表于 2014-3-15 22:50 static/image/common/back.gif
我那代码也是正确的,问题是看不懂他的执行过程~单步调试,最后就就最后两个重复执行了5次,结果就出来了, mack1983 发表于 2014-3-16 00:05 static/image/common/back.gif
我那代码也是正确的,问题是看不懂他的执行过程~单步调试,最后就就最后两个重复执行了5次,结果就出来了,
想象一下 函数自己调用自己
页:
[1]