一个数的阶乘大家都不陌生,原理很清楚,就是给定一个正整数,然后计算所有小于等于这个正整数的乘积。
这里我们需要明确几点:
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。
首先给出流程图给大家理解。
有三种 *** 来实现代码。
之一种:普通的直接把所有代码写在主函数里。
这个 *** 比较直观,就是遍历给定的数,从1开始到自身,然后相乘。注意,这里我一开始用的是给定的数相乘,但实际上这是有问题的,还是要从1开始。毕竟1的阶乘是从1开始的。
#include