#include <stdio.h>
double fact(int n)
{
if (n == 0 || n == 1)
return 1;
else if (n > 1)
return n * fact(n - 1);
}
int main(void)
{
int n = 0;
printf("输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘为:%.0lf\n", n, fact(n));
return 0;
}
有帮助望采纳
从n~1循环。
阶乘就是n!,即n*(n-1)(n-2)…1,可以用循环求解,不如将阶乘反过来即1* 2 * 3…*n,这样使用循环求解代码更简单些