① c語言,求n階乘的代碼
思路:所謂n的階乘就是從1到n的累積,所以可以通過一個for循環,從1到n依次求積即可。
#include <stdio.h>
int main()
{
int i, n;
int sum = 1;
printf("請輸入n: ");
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum = sum*i;
}
printf("n的階乘是%d ", sum);
return 0;
}
定義范圍
通常所說的階乘是定義在自然數范圍里的(大多科學計算器只能計算 0~69 的階乘),小數科學計算器沒有階乘功能,如 0.5!,0.65!,0.777!都是錯誤的。但是,有時候我們會將Gamma 函數定義為非整數的階乘,因為當 x 是正整數 n 的時候,Gamma 函數的值是 n-1 的階乘。
以上內容參考:網路-n!
② 用C語言編寫1到10的階乘
#include<stdio.h>
int main()
{
int a=1,i;
for(i=1;i<=10;i++)
a=a*i;
printf("10的階乘=%d",a);
return 0;
}
(2)C語言的階乘數列怎麼寫擴展閱讀:
在C語言中,有三種類型的循環語句:for語句、while語句和do While語句。分別介紹如下:
for
for為當型循環語句,它很好地體現了正確表達循環結構應注意的三個問題:
⑴控制變數的初始化。
⑵循環的條件。
⑶循環控制變數的更新。
while:
while結構循環為當型循環(when type loop),一般用於不知道循環次數的情況。維持循環的是一個條件表達式,條件成立執行循環體,條件不成立退出循環。
while語句格式為:
while(條件表達式)
循環體
每次執行循環體前都要對條件表達式進行判斷。
參考資料來源:網路-循環語句
③ c語言如何求一個數的階乘
n的階乘就是從1到的累積,所以可以通過一個for循環,從1到n依次求積即可。
參考代碼:
#include "stdio.h"
int main() {
int n,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循環求累積
s=s*i;
printf("%d ",s);
return 0;
}
/*
運行結果:(例如求5的階乘)
5
120
*/
(3)C語言的階乘數列怎麼寫擴展閱讀:
return用法:
return返回一個數值的意思就是把return<表達式>後面表達式的值返回給調用他的函數。舉個例子:
int sum(int i,int j)
{
return i+j;
printf("這個語句不會被執行,因為該子函數執行到上面的return語句就無條件結束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
④ 用C語言求N的階層。程序怎麼寫
1、使用遞歸演算法
#include<stdio.h>
#include<process.h>
longfactorial(intn)
{
longresult;
if(n<0)
{
printf("n<0,請輸入大於等於0的整數!");
return-1;
}
elseif(n==0||n==1)
{
result=1;
}
else
{
result=n*factorial(n-1);
}
returnresult;
}
main()
{
intn=10.0;
longiNum;
iNum=factorial(n);
printf("10!=%ld ",iNum);
system("pause");
}
2、使用循環
#include<stdio.h>
#include<process.h>
intmain()
{
inti=1;//累加變數
longj=1;//儲存結果
intk=1;//輸入的數值
printf("請輸入一個數字:");
scanf("%d",&k);
do
{
j=j*i;
i++;
}while(i<=k);
printf("%ld ",j);
system("pause");
return1;
}
以上兩種方式是求階乘的普通演算法,求得的結果表示範圍都是有限的,如果算大數的階乘還要另外的演算法。
⑤ 怎麼在c語言中計算1到5的階乘
先定義一個變數sum作為結果的記錄,然後用一個循環 從1循環到5 依次乘起來。
代碼如下
#include<stdio.h>
int main()
{
int sum = 1;//因為是乘法 定義為1比較方便,如果加法,大多數定義為0
for (int i = 1; i<5; i++)
{
sum *= i; //意思是sum=sum*i;
}
printf ("%d",sum) ;
return 0;
}
⑥ C語言中階乘怎麼輸
1、不是直接輸入n!,需要一定的演算法才可以實現。具體方法是,首先打開編輯器,准備好空白的C語言文件:
⑦ 如何用C語言編寫N的階乘
#include
"stdio.h"
main()
{
int
n,i;
double
p=1;//這里用的是Double,不用Int,因為Int范圍太小
printf("請輸入一個數字:");
scanf("%d",&n);
for(i=2;i<=n;i++)
p*=i;
printf("n!shu=%lf ",p);
}
(7)C語言的階乘數列怎麼寫擴展閱讀:
用Ruby求 365 的階乘。
def AskFactorial(num) factorial=1;
step(num,1){|i| factorial*=i}
return factorial end factorial=AskFactorial(365)
puts factorial
階乘有關公式
該公式常用來計算與階乘有關的各種極限。
此為斯特林公式的簡化公式。
⑧ n!,就是的階乘,用c語言怎麼做
C語言中對於階乘通常採用循環的方式進行計算
循環的方式有while循環,for循環等
這里採用for循環進行舉例,程序代碼如下:
int i,sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
4.上述的變數sum在循環結束後得到的結果即為n!,不過這是在n比較小的情況下,如果需要計算更大的n的階乘,那麼只需將變數sum的類型進行相應調整即可