1. 如何用c語言實現計算函數f(x)

這個需要告知這個函數的計算公式,才能用C語言寫出來的啊。

2. c語言編寫計算a的b次方的函數

這個演算法,其實就是用連乘來實現乘方。只是在連乘的中間的每一步都用除以版c的余數來權代替原數。
之所以可以如此做,是因為整數有如下性質可以利用:
如果x除以c的余數是x,那麼(x*y)和(x*y)各除以c,余數相等。
故作乘法時用x代替x,積除以c的余數不變。
這個性質的道理不難理解:考慮(x*y)和(x*y)的差:等於(x-x)*y。而(x-x)顯然是c的整數倍,y也是整數,故(x*y)和(x*y)的差是c的整數倍,所以(x*y)和(x*y)各除以c,余數相等。
這個演算法的好處是:中間的每一步都用除以c的余數來代替原數,可以防止中間結果過大,從而不會溢出。如果不這樣做,而是直接求乘方,那麼中間是很容易溢出的。
如果直接用pow函數,缺點是pow函數參數和返回值都是實型數,存在誤差,而c語言強制類型轉換取整又是只舍不入,需在程序中適當處理防止結果可能錯1。

3. c語言演算法

這個是函數遞歸調用的問題。
輸入的是n=5,在程序里就會分別調用fun(5),fun(4),fun(3),fun(2),fun(1),當n=0時不滿足「n!=0」的條件,停止遞歸調用。
把得到的結果依次往回推,先從fun(1)開始,i=1滿足i<=n,執行一次for循環,輸出結果1之後換行;
在執行fun(2),執行2次for循環,輸出兩個2後再換行;
以此類推。
所以最後的結果是
1
22
333
4444
55555
關於2/5,這是求商後取整,結果是0。2%5表示2和5相除求余,結果是2。有不懂得可以問我。
謝謝點贊!

4. 學C語言函數和演算法用什麼書

我開始也是看的譚浩強的書
感到很不爽
他的確是面向初學者寫的書
但你要很有耐心的看下去很多章才能自己編一些簡單的程序
因為比如說像頭文件這樣的概念剛開始了解一點就夠了
但他卻一直不說
到後來才專門講
實在急人說那麼多廢話
要向你強烈推薦C
Primer
Plus第五版
雖然是外國人寫的
但只有讀過你才會知道什麼是清晰明了、適合初學者
演算法其實如果獨立來看是不好的
結合代碼反而會更簡單(對於編程而言)
至於函數與數學上的諸如一次函數完全不是一個概念
所以不必擔心學歷問題

5. C語言演算法

#include<stdio.h>

intmain()
{

intD1=13,D2=15,D3=18,D4=42,D5=62,D6=32,D7=24,D8=8,D9=22,D10=16;
inti,max,sum;
max=(1<<10);
//用10位二進製表示到D10
//從0000000001到1111111111,循環,i的二進制第x位有1那麼sum就加上D(x+1)
for(i=1;i<max;++i)
{
sum=0;
sum+=i&(1<<0)?D1:0;
sum+=i&(1<<1)?D2:0;
sum+=i&(1<<2)?D3:0;
sum+=i&(1<<3)?D4:0;
sum+=i&(1<<4)?D5:0;
sum+=i&(1<<5)?D6:0;
sum+=i&(1<<6)?D7:0;
sum+=i&(1<<7)?D8:0;
sum+=i&(1<<8)?D9:0;
sum+=i&(1<<9)?D10:0;
if(sum==100)
{
i&(1<<0)?printf("%d",D1):printf("");
i&(1<<1)?printf("%d",D2):printf("");
i&(1<<2)?printf("%d",D3):printf("");
i&(1<<3)?printf("%d",D4):printf("");
i&(1<<4)?printf("%d",D5):printf("");
i&(1<<5)?printf("%d",D6):printf("");
i&(1<<6)?printf("%d",D7):printf("");
i&(1<<7)?printf("%d",D8):printf("");
i&(1<<8)?printf("%d",D9):printf("");
i&(1<<9)?printf("%d",D10):printf("");
puts("");
}
}
return0;
}

6. 求C語言一函數或演算法

在fun函數里判斷其他函數的返回值,從而退到主函數是即安全又簡單的方法,不要因為嫌麻煩或看起來不舒服就放棄這么好的辦法。
你也可以設一個全局變數,在第三個函數退出時設置這個變數的值,然後return,然後在fun中再判斷這個變數是否是直接退出的值,是的話再return一次回到main()。其實這還不如判斷函數返回值。

7. c語言函數遞歸的演算法

建議你把書中抄的階乘等遞襲歸再看看,
if(x/2==0) return 1是遞歸結束條件。
按題意:(pf(f(n))指列印f(n)值)
f(8)=pf(f(4))0=pf(f(2))00=pf(f(1))000=1000

8. C語言之基本演算法

1.void是無返回值,return 0;是返回值為0,也就是無返回值。用的return的時候是因為要根據它的返回值繼續主函數的一些判斷等等。
2.函數中傳遞過去的是什麼,你就看函數里的形參定義的是什麼類型,定義了整形傳過去的就是一個整形值,定義的是指針傳過去的就是指針所指向的地址。
3.函數執行到return的時候程序就會結束,return 1;就是返回真。0就是假。所以執行了return 1;就不會執行return 0;了。
4.主函數里定義n傳到子函數處理之後主函數的n是不變的。如果將n的地址傳過去,主函數的n就變了。
5.double是雙精度浮點型,float是單精度。假如函數的類型和變數的類型不一樣則以函數的類型為准。不是什麼隱士轉換。

9. C語言中sin()函數用的什麼演算法

這個是庫函數吧

只有有說明就可以用了,你試一下,不用包含 math.h
直接寫一個版聲明,double _Cdecl sin (double x);
就可以用了

庫函數權沒有源文件可以看的,只有二進制可執行代碼
連接時,加到你的程序中。
這是編譯器提供的。

--------------------

補充一下
樓主問的是 sin 這個函數,CPU是如何實現的
CPU能做加減乘除還有邏輯運算

不知道樓主有沒有學過極數?
把sin(x)按 泰勒極數展開,可以變在一個 sin(x)=f(x)
f(x) 是一個關於x的加減乘除的函數,極數無限的
當然,極數越多,精度越高,運算量越大
計算機取有限極數,作近似計算即可

sin(x)=x-x^3/3!+x^5/5!-x^7/!+....

10. C語言中sin()函數用的什麼演算法

你可以調用
系統里的
sin()
頭文件
#include
sin(
角度單位

弧度)
例如:
sin(45.0/180.0*3.1415926);
系統里的
sin()
是用
級數
展開
算出來的。