㈠ 用c語言編寫計算器
#include"stdio.h"
/*預處理命令*/
void main()
/*主函數*/
{
double a,b;
/*雙精度實型變數說明*/
char c,d;
/*變數說明*/
do
/*循環體*/
{
printf("input a (-*/)b\n");
/*輸入提示*/
scanf("%lf%c%lf",&a,&c,&b);
/*輸入算術表達式*/
if(c==' ')
/*判斷 */
printf("=%0.2f",a b);
/*輸出a b的值*/
else if(c=='-')
/*判斷-*/
printf("=%0.2f",a-b);
/*輸出a-b的值*/
else if(c=='*')
/*判斷**/
printf("=%0.2f",a*b);
/*輸出a*b的值*/
else if(c=='/')
/*判斷/*/
printf("=%0.3f",a/b);
/*輸出a/b*/
else
/*不滿足以上條件*/
printf("error");
/*輸出錯誤*/
printf("\n\ninput\n");
/*輸入\n*/
scanf("%c",&d);
/*輸入符號給d*/
}
/*循環體結束*/
while(d=='\n');
/*循環條件語句*/
}
㈡ C語言中有計算階乘的函數嗎 不是自己寫,,,是那種可以直接調用的函數
#include<stdio.h>
voidmain(){
intn,result;
printf("請輸入一個數字,求它的階乘:");
scanf("%d",&n);
result=calc(n);
printf("結果:%d",result);
}
intcalc(intn){
intresult=1,i;
for(i=n;i>=1;i--)
result=result*i;
returnresult;
}
(2)c語言階乘計算器擴展閱讀
C語言函數的調用
函數定義好以後,要被其它函數調用了才能被執行。C語言的函數是能相互調用的,但在調用函數前,必須對函數的類型進行說明,就算是標准庫函數也不例外。
標准庫函數的說明會被按功能分別寫在不一樣的頭文件中,使用時只要在文件最前面用#include預處理語句引入相應的頭文件。如前面使用的printf函數的說明是放在文件名為stdio.h的頭文件中。
㈢ 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語言代碼
方衡褲法如下:
/*This program can calculate the factorial of (int n).*/
#include <stdio.h>
int factorial(int n)
{
return (n == 1)?n:factorial(n-1)*n;//recursion.
}
int main(void)
{
int n,fac;
printf("Please input the value of n:");//initialize n.
scanf("%d",&n);
fac = factorial(n)//variable fac is not necessary.
printf("The result is:%d ",fac);
return 0;
}
相關內容:
階乘是定義在自然數范圍里的(大多科學計算器只能計算 0~69 的階乘),小數科學計算器沒有階乘功能,如 0.5!,0.65!,0.777!都是錯誤的。但是,有時候我們會將Gamma 函數定義核缺為非整數的階乘,因為當 x 是正整數 n 的時候,Gamma 函數的值是 n-1 的階改攔辯乘。
㈤ 階乘如何用c語言實現
1、首先打開CodeBlocks編輯器,新建一個空白頁面,寫入頭文件和主函數:
㈥ C語言中如何編程計算階乘
常見的有兩種:
遞歸版本:
intFac(intn){
if(n==0)return1;
returnn*Fac(n-1);
}
還有一種是循環版:
intans=1;
for(inti=1;i<=n;i++)ans*=i;
測試方法:
#include<stdio.h>
intFac(intn){
if(n==0)return1;
returnn*Fac(n-1);
}
intmain(){
intn;
while(scanf("%d",&n)!=EOF){
intans=1;
for(inti=1;i<=n;i++)ans*=i;
printf("%d%d ",ans,Fac(n));
}
return0;
}
有個值得注意的地方:階乘時,數增大的很快,在n達到13時就會超過int的范圍,此時可以用long long或是 __int64來存儲更高精度的值,如果還想存儲更高位的,需要用數組來模擬大數相乘。