c语言求阶乘的两种算法(递归和循环) 您所在的位置:网站首页 c语言的递归法 c语言求阶乘的两种算法(递归和循环)

c语言求阶乘的两种算法(递归和循环)

2023-10-02 03:21| 来源: 网络整理| 查看: 265

循环法

循环法还是比较简单的,很常规,就先输入你要求的阶乘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 实验室设备网 版权所有