阶乘函数c语言怎么表示(求5的阶乘的c语言程序)

数的阶乘,想必大家都不陌生,原理也很清楚,就是给定一个正整数,然后求出所有小于以及等于该正整数的积。

这里我们要清楚几点:

1、负数没有阶乘,所以默认是正整数。

2、0的阶乘是1,这是人为规定的,只需要记住即可。

那么,今天我们的重点是用C语言实现数的阶乘,不过我提出了一个要求:利用我们前些天所学的知识,用函数以及递归函数的方法来实现数的阶乘。

这样的话,既能帮助我们复习函数和递归函数的方法,也能巩固我们的C语言基础。

在正式用C语言实现数的阶乘前,我们先来理一理逻辑。

数的阶乘,除了0的阶乘是1外,正整数的阶乘就是所有小于以及等于它的积。

给定一个数为5,那么5的阶乘就是5!=1x2x3x4x5 = 120。

这里我们需要用到一个循环,就是不停地遍历比5小的数即可。

遍历出1、2、3、4、5之后,再不停地进行相乘。

初始值为1,那么第一次相乘为1,第二次就是1与2相乘,直到第五次就是前四次相乘的积与5相乘,最终得到120。

首先是给出流程图,方便大家理解。

阶乘函数c语言怎么表示(求5的阶乘的c语言程序)

用三种方法进行代码实现

第一种:普通的直接在主函数中写出所有代码。

用该方法就比较直观了,就是遍历给定数,从1开始到它本身,然后不停相乘,注意,我在这里一开始用了给定数来相乘,但其实这是有问题的,还是得从1开始,毕竟1的阶乘是从1开始的。

#include<stdio.h>intmain(){ intnumber; intfactorial = 1;//因为factorial是阶乘的英文scanf(“%d”, &number); for(inti=1; i<=number; i++) { factorial = i*factorial;//这样是确保即便当number=0的时候,结果也为1} printf(“%d “, factorial); }

测试结果:

阶乘函数c语言怎么表示(求5的阶乘的c语言程序)

第二种:在主函数外写一个子函数,然后在主函数内直接进行调用该子函数。

#include<stdio.h>voidfactorial(){ intnumber; intfactorial = 1;//因为factorial是阶乘的英文scanf(“%d”, &number); for(inti=1; i<=number; i++) { factorial = i*factorial;//这样是确保即便当number=0的时候,结果也为1} printf(“%d “, factorial); } intmain(){ factorial();//可以说,就是直接把主要代码这部分给拎出来,然后在主函数调用}

其实可以发现,这与我们上面的直接在主函数里写的方法没什么差别,唯一的区别就是看起来更加直观一些,以及代码错落有致一点。

测试结果:

阶乘函数c语言怎么表示(求5的阶乘的c语言程序)

第三种:在主函数外写一个递归函数,也就是让子函数不停调用它自身。

与前两个方法相比,递归函数显然更好理解一些,也显然让代码的利用率更高了,因为0的阶乘是0,所以这应该单独进行判断,也就是得到结果为1,之后就是让它本身与比它小的数相乘了。

其实这个逻辑很好理解,给定数5,然后5去与factorial(4)相乘,同时factorial(4)又是4与factorial(3)相乘,与此推理下去,直到最小是与1相乘即可,那就满足了从1开始到它本身的所有数相乘。

#include<stdio.h>intfactorial(intn){ if(n<=0){ return1; } returnn*factorial(n-1);//与比它小的正整数相乘} intmain(){ intnumber = 0; scanf(“%d”, &number); printf(“%dn”,factorial(number)); //与之前相比,显然变得更简单了些}

测试结果:

阶乘函数c语言怎么表示(求5的阶乘的c语言程序)

总结

总的来说,阶乘其实蛮简单的,就是大家的思维要再打开一些,不要局限于只用一种方法来实现,多利用之前学过的一些方法,代码的利用率还能变高,也能提升自己的编程能力。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月1日 下午4:39
下一篇 2022年12月1日 下午4:43

相关推荐

  • 世界上最恐怖的滑梯(惊险刺激的娱乐项目)

    说到比较惊险刺激的娱乐项目,那就要数游乐园了。比如像过山车、跳楼机、大摆锤等等,这些项目看上去就让人害怕,很多人都不敢尝试,害怕心脏受不了。很多玩过这些项目的也是表示不敢在玩了,坐在上面都吓哭了,或者下来之后就开始吐,恢复很久才恢复得过来。世界上最“恐怖”的滑梯,滑梯全是透明的,离地面有300多米高,这样的滑梯你敢去尝试吗? 这个滑梯位于美国市中心的一座摩天…

    2022年12月4日
    610
  • 长焦镜头是什么意思(长焦镜头就是放大吗)

    摄影器材中,镜头是非常重要的,我们根据镜头的焦距大小,将镜头分为广角镜头、标准镜头和长焦镜头。今天和大家分享一下长焦镜头有啥用,为大家挑选镜头提供一些参考。 一、长焦镜头与取景构图 长焦镜头的最大优势在于取景构图能力,对于局部画面的把控能力十分强悍,所以使用长焦镜头拍摄,容易拍摄出不错的照片,比如70-200mm这支镜头。 通过变焦调整画面的大小比例,可以抛…

    2022年12月17日
    230
  • 大金空调哪里生产的(大金空调属于什么档次)

    当代新一轮科技革命与产业变革带来了全球产业链格局的加剧调整与转变,我国也面临着制造业转型升级以及高质量发展的迫切需求。“空气专家”——大金空调顺应时代潮流,打造完整的产业链,成为空当代新一轮科技革命与

    2022年9月27日
    770
  • 战地风云5是单机游戏吗(战地5只玩单机值得买吗)

    今天,向大家推荐一款二战历史魔改FPS游戏——《战地风云5》(Battlefield Ⅴ)。《战地风云5》贯彻了战地系列一贯的战场风格,在多人模式的玩法上有着十分高的自由度,人物,武器和载具的外观搭配和升级配件也是多种多样,目前该游戏可在PC端游玩。 《战地风云5》是EA战地系列第五部作品,根据战地2、3、4、1、5的顺序,《战地风云5》是《战地风云1》的正…

    2022年12月14日
    1190
  • 电脑运行命令代码大全(Windows二十个常用运行指令)

    按“开始”-“运行”,或按WIN键+R,打开【运行】窗口 然后在里面输入以下指令,即可在电脑上显示相应界面,具体如下所示: 1.检查Windows版本——winver 2.远程桌面连接——mstsc 3.快速打开计算器——calc 4.打开程序和功能——appwiz.cpl 5.打开磁盘清理工具——cleanmgr 6.打开cmd命令提示符——cmd 7.打…

    2023年3月7日
    1050
  • 手机屏幕尺寸一般是多少(6寸以下的小屏手机推荐)

    继前几天笔者推荐了几款旗舰的小屏幕手机之后,笔者发现人们对于小屏手机的选择也并不少。那么,在旗舰机型之外,2018年的智能手机市场有没有一些更适合大众用户选择的、小屏幕的中端手机呢? 有!虽然不多,但如果自己购买或者买给长辈,这些中端小屏手机也都是可圈可点的!当然了,这里的小屏依然只能是等于6英寸或者小6英寸的机型,再小一些的笔者也真的凑不出来。 一、“真香…

    2023年4月23日
    360
  • 凄美的歌曲有哪些(悲伤凄美的古风背景音乐)

    人间四时 匆匆留不住,何幸与你相识 余生不相负。不说话唠,直接上歌! 1. 雪诉离歌 演唱:东篱 / Assen捷 网友:告诉你们哦,我有一个很喜欢很喜欢的人。他啊有一个神奇的技能就是自带娇喘,他的名字很好记的,我只看了一遍就记住了哟。他离开很久,很久很久都没有回来,真是得明明有很多人在等他啊,明明就有很多人都在想念他啊。他叫东篱,两个字写下来不到三分钟,却…

    2022年11月25日
    190
  • 小米粮食排行榜第一名(全中国哪里的小米最好吃)

    在繁忙的生活中,我们常常忽视了对身体健康的关注。而一碗热腾腾的小米粥,或许就是您寻找的健康秘诀。 小米,作为一种古老的粮食作物,自古以来就被誉为“五谷杂粮之首”,它富含蛋白质、脂肪、碳水化合物、钙、磷、铁等多种营养成分,被誉为“营养小宝库”。 全中国哪里的小米最好吃?请认清这4个产地,滋补养生,谷中珍品 一、山西长治沁县 沁州黄小米,这是山西省沁县的一份特产…

    2024年9月5日
    10
  • TCL 华星与奔驰合作(推出全球首款横贯整个 A 柱曲面的车载显示屏)

    10月10日消息,今年1月份,梅赛德斯-奔驰VisionEQXX概念车公布,这款概念车搭载品牌首款完全无缝47.5英寸超薄一体式屏幕,并引入游戏引擎和全面优化用户界面。研发团队还跨界合作,联合开发了

    2022年10月12日
    550
  • 315投诉有用吗(消费者投诉找谁最有效)

    #315全民行动# 消费维权投诉举报电话:12315 已经过去的“315”这个日子已经被我们贴上了打假的标签。其实并不是只有这一天可以投诉打假,本着为了广大消费者提供的网上维权服务,人人都是维权专家,人人都可以受理消费者的投诉,维护消费者的合法权益,为改善消费环境做贡献为宗旨,我们也可以随时投诉建议。今天小编将教您正确的做法步骤 (一)与经营者协商和解; 消…

    2022年12月4日
    290

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信