c语言求阶乘的两种算法(递归和循环) | 您所在的位置:网站首页 › c语言的递归法 › c语言求阶乘的两种算法(递归和循环) |
循环法
循环法还是比较简单的,很常规,就先输入你要求的阶乘n,然后一直自减 #include main() { long n,sum=1;//10 以上的阶乘就比较大了,所以用long int i; printf("请输入你要求的阶乘呀:"); scanf("%d",&n);//先输入要求的阶乘数 for(i=n;i>0;i--)//乘到1为止 { sum*=i; } printf("%d != %d",n,sum); return 0; }完成后的结果是这样子的 递归法编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。 就像我和你说:“从前有座山,山上有座庙,庙里有个小和尚,老和尚和小和尚说:从前有座山,山上有座庙,庙里有个小和尚,老和尚和小和尚说:巴拉巴拉的” #include int fun(int n) { if(n==1||n==0) return 1;//如果参数是0或者1返回1 return n*fun(n-1);//否则返回n和下次递归的积 } int main() { int n; scanf("%d",&n); printf("%d\n",fun(n)); return 0; }完成的结果就是这样子的 使用递归要注意的就是关于结束的条件,不然程序会崩溃的 |
CopyRight 2018-2019 实验室设备网 版权所有 |