阶乘函数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

相关推荐

  • 好喝的饮料推荐(5款超好喝自制小饮料)

    夏日炎炎,就算一动不动也是一身的汗,嘴巴自然想喝点解渴清凉的东西补充水分。今天就给大家介绍5款夏日超好喝的自制饮品,炎炎夏日来上一杯,好喝又解渴! 蔓越莓冰爽柠檬水 【食材】蔓越莓鲜果100克,凉白开30克,糖根据个人口味添加,苏打水1瓶 【做法】 步骤1:准备食材,将蔓越莓鲜果洗净。 步骤2:在榨汁机中加入蔓越莓和30-50克苏打水,按电源启动,得到蔓越莓…

    2023年10月9日
    90
  • 德阳各区县人口一览表(德阳人口总人数是多少)

    德阳1983年建市。德阳地处四川成都平原腹心地带,正加快建设全省经济副中心城市,打造装备智造之都、改革开放高地、古蜀文化名城、美丽幸福家园新“四张名片”。现辖旌阳、罗江、广汉、什邡、绵竹、中江六县(市

    2022年10月16日
    1520
  • 含镁的食物十大排行表(含镁最多的食物排行榜前十名)

    《欧洲营养学》期刊上发表论文,适量多吃含镁丰富的食物,可以延缓大脑衰老,预防老年痴呆。 日常饮食中摄入更多的含镁丰富的食物,尤其是人到中年,多吃“镁”,健脑又护心! 全谷物,小麦胚芽,各种豆类,豆制品,鲜豆类蔬菜,黑米,红豆,燕麦米,苋菜,紫背天葵,深色深紫深绿色蔬菜,海带紫菜海藻,坚果,水果。三文鱼,比目鱼等富含镁。 其实也就是荤食四分之一,素食四分之三,…

    2023年5月25日
    1390
  • 21寸显示器的长宽大概多少(怎么看电脑显示器的尺寸)

    国际单位中,1英寸=2.54厘米,21寸显示器≈54厘米(cm) 目前市面上显示器主要有,16比9和4比3两种: 1、16比9属于宽屏,是我们日常使用的主流显示器,尺寸为21.5寸,屏幕尺寸一般47.6厘米*26.8厘米; 2、4比3属于普屏,尺寸为21寸,主要用于安防设备,屏幕尺寸40厘米*30厘米。 在显示器最佳分辨率上,21寸显示器最佳分辨率为1920…

    2023年7月4日
    60
  • 重阳节吃什么(重阳节的吃食有哪些重阳节该吃什么)

    摘要:重阳节吃什么重阳节的吃食有哪些重阳节该吃什么?每个节日里的美食各有特色、各有讲究,元宵吃汤圆、端午包粽子、中秋食月饼。重阳节,又称重九节、晒秋节、“踏秋”,为每年的农历九月初九日,中国传统节日。

    2022年10月2日
    590
  • 电脑网络显示黄色感叹号怎么办(电脑网络标志出现黄色感叹号的通用解决方法)

    小白在大学里经常会遇到有学弟学妹来问我:学长,我电脑网络连接上不能用怎么办啊?的问题,这不马上要放寒假了,怕大家回到家又会出现同样的问题,今天在这里给大家提供解决办法!请拿出你们的小本本记住重点哦! 当电脑连上网络不能用的时,首先要排除是不是你的宽带出现了问题! 电脑网络标志那里出现感叹号,说明是网络设置这里出了问题,在这里小白教大家的是重置网络设置 。 第…

    2023年9月2日
    170
  • 苹果6s怎么截屏(6s如何截屏手机屏幕)

    不同型号的手机截屏的方法会有差异。苹果手机的截屏方法有几种,常用的就是按键截屏。有一说一,这个截屏方式很简单也很方便。 但在某些情况下,这种截屏方式会让我们感到麻烦。有时候会有这样的担心:经常使用按键截屏,时间长了会不会按键松动,造成手机硬件的损耗,影响使用质感。 其实,苹果手机还藏着几种截屏的方法,而且这些方法在特定情况下,会让我们感到简单而且实用。 用习…

    2023年9月7日
    00
  • 长沙旅游十大必去景点(盘点长沙那些值得游玩打卡的地方)

    长沙是座火辣辣的城市,长沙又是一座充满朝气和青春气息的城市,长沙还是一个不夜城,这是我本次长沙之行的感悟。 谈起城市游玩,我对长沙的印象不错,虽然已是时隔近三十年后第二次来到长沙。第一次到长沙因为时间太久,仅对湖南烈士公园、橘子洲头、湘江岸边和步行街印记较深。 第一次到长沙是因爱情而来。 这次到长沙既为友谊,也是游玩,三天三夜的长沙之行,总要写点什么东西,最…

    2024年9月19日
    20
  • 专科逆袭到硕士后当外卖员男子回应(8月工资三千多)

    男子何成,从河南信阳农村考上了专科,后逆袭到硕士。其后,他没有因高学历找到一份待遇优渥的工作,现在正在当外卖员。面对外界的质疑,何成是这样回应的。下面,我们一起来具体了解一下吧。工资何成,来自河南信阳

    2022年10月2日
    390
  • 为什么要把吴邪培养成齐羽(齐羽的真实身份是什么)

    怒海潜沙和秦岭神树这一版的盗墓笔记应该说还是受到了很多的好评,对于原著党而言大家觉得还是不错的,演员的选角还是不错的,虽然侯明昊的演技有欠火候,但是看得出来非常努力,秦岭神树的剧情上线后,剧中登场的人物也是越来越多了,很多人想知道齐羽是什么人呢?让咸鱼八卦来告诉你们吧。 几十年前,西沙考古队在海底墓失踪,陈文锦、霍玲和解连环等人下落不明,而齐羽也是其中一员,…

    2022年12月14日
    370

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信