递归:
#include<stdio.h>
#include<windows.h>
int jiecheng(int n)
{
if (n == 1)
{
return 1;
}
else if (n > 1)
{
n--;
return (n+1)*jiecheng(n);
}
}
int main()
{
int num = 4;
printf("%d的阶乘=%d\n", num, jiecheng(num));
system("pause");
return 0;
}
非递归:
#include<stdio.h>
#include<windows.h>
int jiecheng(int n)
{
int i = 0;
int count = 1;
for (i = 0; i < n ; i++)
{
count = count*(n-i);
}
return count;
}
int main()
{
int num = 4;
printf("%d的阶乘=%d\n", num, jiecheng(num));
system("pause");
return 0;
}