使用递归法求阶乘(附带详细解答)

c++/c语言中,使用递归求阶乘详解

#include <iostream>
using namespace std;
//问题:利用递归方法求n的阶乘。

//先写一个递归函数,主函数中调用

int jc(int n){

   //if用1判断递归是否结束,同时n=1时,return 1 
    
	if(n==1){
		return 1;
	    	}
	    	
 //当n>1时, 使用递归方法,让n *(n-1)*(n-2)*...*2*1 ,当n=1时递归结束,return 阶乘数值
 
	else{
	    return n*jc(n-1);
	}
		
}

int main(){
	
	int a;
	cout<<"输入一个正整数n,求该数阶乘" <<endl;
	cin>>a;
	//jc(a)调用阶乘函数 
	cout<<"n!="<<jc(a)<<endl;
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43740331/article/details/84580815