2023年湖北省的专升本考试已于5月7日举行,有很多小伙伴希望看看自己是否作对,也有很多学弟学妹想要看看题目到底难不难,那么我们今天就来看一道真题。
题目:
求5的阶乘。这一题来自湖北省的一所民办院校,一起来做做看吧。
#include<stdio.h>
//使用递归函数,来求阶乘是最简单的一种方法,这里定义的fun函数写在主函数之上就不用再在主函数中声明了
int fun(int x){
/*递归函数的思想是给它一个数,让它按照某种规律找到最底层的答案,然后再将最底层的答案往上回溯
每回溯一层就得到一个新答案。直到回溯到最开始的那一层得到我们所需要的答案。*/
int f; //定义一个变量f用来作为阶乘的返回值
if(x < 0){ //当x小于0的时候,x的阶乘是没有结果的
printf("x is less than zero,it hasn't factorial");
}else if(x == 0 || x == 1){ //当x=0或者x=1的时候,x的阶乘是1
f = 1;
}else{ /*当x>1的时候,我们就是用递归函数,即该函数自己调用自己,因为我们上面说到1的阶乘等于1,那么当它递归到1的时候,
它就拿到了最底层的阶乘的那个答案,此时它开始往上回溯,回溯到2的时候就等于2*1,回溯到3的时候就等于3*(2*1)回溯
到4的时候就等于4*(3*(2*1)),