1.非递归实现求n的阶乘
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
int fact(int n)
{
int sum = 1;
for (n; n > 0; n--)
{
sum *= n;
}
return sum;
}
int main()
{
int n;
printf("请输入要求阶乘的数\n");
scanf("%d", &n);
printf("%d", fact(n));
system("pause");
return 0;
}
2.递归实现求n的阶乘
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
int fact(int n)
{
if (n == 1)
{
return n;
}
else
{
return n*fact(n - 1);
}
}
int main()
{
int n;
printf("请输入要求阶乘的数\n");
scanf("%d", &n);
printf("%d", fact(n));
system("pause");
return 0;
}