实现一个整数的阶乘

非递归方法

#include<stdio.h>
int fact(int num)
{
int res;
for (res = 1; num > 1; num–)
{
res *= num ;//利用for循环实现
}
return res;
}
int main( void)
{
int num;
printf(“请输入一个整数:”);
scanf("%d", &num);
printf("%d的阶乘为:%d", num, fact(num));//调用阶乘函数
return 0;
}

递归方法

#include<stdio.h>
int fact(int num)
{
int res;
if (num > 0)
{
res = num * fact(num - 1);
}
else
{
res = 1;
}
return res;
}
int main( void)
{
int num;
printf(“请输入一个整数:”);
scanf("%d", &num);
printf("%d的阶乘为:%d", num, fact(num));
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43745617/article/details/109604881