编辑代码

#include<stdio.h>
int digui(int n){
	if(n<0){
		printf("负数没有阶乘\t");
		return 0; 
	}
		
	if(n==0)
		return 1;
		
	return digui(n-1)*n;
}

int ditui(int n){
	if(n<0){
		return 0;
	}
	int sum = 1;
	int i;
	for(i=1;i<=n;i++){
		sum*=i;
	}
	return sum;
}


int pbnq(int n){
	
	if(n<=0){
		return 0;
	}
	if(n==1){
		return 1;
	}
	return pbnq(n-1)+pbnq(n-2);
}


int main(){
	printf("5!=%d\n",digui(5));
	printf("0!=%d\n",digui(0));
	printf("-2!=%d\n",digui(-2));


	printf("%d\n",pbnq(3));
	printf("%d\n",pbnq(0));
	printf("%d\n",pbnq(-1));

	printf("5!=%d\n",ditui(5));
	printf("0!=%d\n",ditui(0));
	printf("-2!=%d\n",ditui(-2));
}