int fact(int n)
{return n?n*fact(n-1):1
}
调用语句:
printf("%d!=%d\n",n,fact(n))
当n为5时的输出为:
5!=120
#include#define
N
5
int
main()
{
int
i,a=1
for(i=N
i>=1
i--)
{
a
*=
i
}
printf("%d\n",a)
return
0
}
我写了一个给你,算法简单,结果正确,楼主也可自己随意更改。
仅供参考!
写了一个函数求阶乘 输入5就能得出5的阶乘
烦请采纳 谢谢
程序代码
#include "stdafx.h"
#include <stdio.h>
int fun(int n)
{
if(n==1) return 1
else return n*fun(n-1)
}
int main(int argc, char* argv[])
{
int n
do
{
printf("请输入一个整数,输入0结束\n")
scanf("%d",&n)
if(n>0) printf("%d的阶乘=%d\n",n,fun(n))
}while(n)
return 0
}