用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