天天看點

c語言算法(c語言算法有哪些)

c語言的算法

#include 
     
    
main() 
int i=1,sgn=1;
float term=1.0,sum=1.0; 
while (i<=100) 
{term=-sgn/(i+1); /*這樣你的-sgn永遠是-1,應像zd正确 的程式那樣寫成 sgn = -sgn;才能出現+,-*/
sum=sum+term; 
i++; 
printf("%f\n",sum); 
getchar();//......      

運算中的錯誤,是因為兩個整數做回除法結果答為整數,一般采取"向零取整"的方法,例如4 / 3 = 1,隻有當運算的兩個數有一個為實數或雙精度數結果是double類型.sgn/(i+1);

在int i=1,sgn=1的情況下,當i>0時,sgn/(i+1)是等于0的。是以就會出現最後的1term=-sgn/(i+1);這個是INT/INT不可能會得到FLOAT,是以這中間存在一個類弄轉換問題。INT轉為FLOAT是采用後面補0來解決的。自然會出錯,下面的term=sign/deno; 是INT/FLOAT得到的是FLOAT沒有類型轉換,自然就不會出錯了

補充一下:同意上面說的得到結果的說話

C語言中的算法有哪些?

基本的算法思想包括:窮舉算法法思想,遞推算法法思想,遞歸算法法思想,機率算法法思想,分治算法法思想幾大類,相應的算法思想都有一些比較經典的執行個體,可以去研究一下。比如窮舉的(雞兔同籠問題),遞推的(兔子産仔問題),遞歸的(階乘數學算法),機率的(Monte Carlo 圓周率PI的算法),分治的(稱重找假硬币類似的算法)等等,慢慢去研究吧!展開全部

算法主要是思想的展現,建議去看《算法導論》

語言隻是實作算法的方法而已,并不是說有什麼算法是針對語言的展開全部

算法 技術手冊 希望能幫到你展開全部

繼續閱讀