#include<stdio.h>
int factorial(int);//阶乘函数
int Judge(int);//判断用户输入的是否为正数
int main()
{
int result;//接收阶乘数
int num;
printf("*****************<计算阶乘>******************\n");
while(1)
{
printf("请输入数字:");
do{
scanf("%d",&num);
if(!Judge(num))
printf("输入格式有误,请重新输入\n");
}while(!Judge(num));
result = factorial(num);//计算5的阶乘
printf("值为:%d\n",result);
}
}
int Judge(int num)
{
return num > 0;
}
int factorial(int num)
{
if(num == 1)
{
return 1;
}
else
{
num = num * factorial(num - 1);
return num;
}
}
/*使用递归的注意点;1,要有反复的执行过程(调用自身)
2,有跳出反复执行的条件*/
用递归算阶乘
最新推荐文章于 2023-12-30 20:55:33 发布