怎么用C语言计算5的阶乘,要求输出结果为1×2×3×4×5=120

如题所述

#include <stdio.h>
long fac(int n) {
   if (n==1) return 1;
   return n*fac(n-1);
}
int main() {
   int n=5;
   printf("n1=%ld\n", fac(n));
   return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-05
void Factorial(int Cnt)
{
int i;

unsigned long Multi = 1;

for(i = Cnt; i > 0; i--)

{

Multi *= Cnt; //先做乘数

printf("%d * ", Cnt); //假如为5则打印 5* 4 * 3 * 2 * 1(Cnt * Cnt-1 * Cnt-1-1 * ... * 1)

Cnt -= 1; //然後减1

} //当减到0时就跳出for选循环

printf(" = %d\n\r", Multi); //此处打印结果为" = 120"

}//假如传入5,则打印信息为5 * 4 * 3 * 2 * 1 = 120
第2个回答  2015-11-05
#include <stdio.h>
main()
{int i,s=1;
for(i=1;i<=5;i++)
s=s*i;
printf("1*2*3*4*5=%d",s);}

满意的话,请采纳本回答被提问者采纳
第3个回答  2015-11-05
#include <stdio.h>
void main()
{
int n=5;
int sum=1;
for(i=1;i<=5;i++)
sum*=i;
printf("1×2×3×4×5=%d",sum);
}追问

谢谢了!已经解决了!不过你的程序里好像错了吧

追答

#include
void main()
{
int n=5;
int sum=1;
for(int i=1;i<=5;i++)
sum*=i;
printf("1×2×3×4×5=%d",sum);
}
漏了个int

相似回答