用c语言求n
① c语言求n!
#include<stdio.h>
main()
{
int
i,n,sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
//这里多了个分号..
sum*=i;
//必须用另外一个变量来存储阶乘的结果.因为i是用来控制循环的.
printf("%d",sum);
getch();
}
② 用c语言求N的阶乘
#include<stdio.h>
intfac(intn)
{
intr=1;
for(i=2;i<=n;i++)
r*=i;
returni;
}
intmain()
{
intn;
scanf("%d",&n);
printf("%d!=%d ",n,fac(n));
return0;
}
③ c语言 编程实现求n!要求用定义求阶乘的函数
1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘:
④ c语言程序,求n! 求解
#include
void
main()
{
int
i,n,s;
s=1;
scanf("%d",&n);
for
(
i=1;i<=n;i++
)
s*=i;
printf("%d\n",s);
}
如果n比较大,int就放不下了,要溢出,可以:
#include
void
main()
{
int
i,n;
double
s;
s=1;
scanf("%d",&n);
for
(
i=1;i<=n;i++
)
s*=i;
printf("%.0lf\n",s);
}
⑤ 在C语言中用递归调用的方法求n!
#include <stdio.h>
int Func(int n)
{
if(n < 2)
return 1;
else
return n*Func(n-1);
}
int main()
{
int n = 5;
printf("n! = %d\n",Func(n));
return 0;
}
执行过程:
-》Func(5)
-》5*Func(4)
-》5*(4*Func(3))
-》5*(4*(3*Func(2))))
-》5*(4*(3*(2*Func(1))))
当n为0的时候停止递归,返回结果
由于遇到1的时候返回1,那么Func(1)=1
所以结果是5*(4*(3*(2*1))) = 120