欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言編寫方程函數(shù)的根 c語言求函數(shù)的根

用C語言中,如何用調(diào)用函數(shù)編寫求一元二次方程的根

int GetRoot(float a, float b, float c ,double* root){

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),津南網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:津南等地區(qū)。津南做網(wǎng)站價(jià)格咨詢:18980820575

double delta, deltasqrt ;

delta = b* b - 4*a*c ;

if(delta0) return 0 ;

deltasqrt = sqrt(delta) ;

if (a!=0.0){

root[0] = (deltasqrt - b)/(2.0*a) ;

root[1] = ?(-deltasqrt - b)/(2.0*a) ;

}

if (root[0] == root[1]) return 1;

else return 2 ;

}

int main(void){

//計(jì)算方程的根

float ?a = 2.0,b =6.0,c=3.0 ;//a,b,c s是參數(shù)

double root[2] ;//root是得到的兩個(gè)根

int n = GetRoot(a,b,c,root) ;

if (n1){

printf("方程無根") ;

}else{

printf("方程的解為:%f,%f",root[0],root[1]) ;

}

}

擴(kuò)展資料:

C語言是一門面向過程、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。

C語言特點(diǎn):

(1)簡(jiǎn)潔的語言

C語言包含有各種控制語句僅有9種,關(guān)鍵字也只有32

個(gè),程序的編寫要求不嚴(yán)格且多以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。實(shí)際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進(jìn)行編程,故c語言擁有非常簡(jiǎn)潔的編譯系統(tǒng)。

(2)具有結(jié)構(gòu)化的控制語句

C語言是一種結(jié)構(gòu)化的語言,提供的控制語句具有結(jié)構(gòu)化特征,如for語句、if?else語句和switch語句等。可以用于實(shí)現(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設(shè)計(jì)。

(3)豐富的數(shù)據(jù)類型

C語言包含的數(shù)據(jù)類型廣泛,不僅包含有傳統(tǒng)的字符型、整型、浮點(diǎn)型、數(shù)組類型等數(shù)據(jù)類型,還具有其他編程語言所不具備的數(shù)據(jù)類型,其中以指針類型數(shù)據(jù)使用最為靈活,可以通過編程對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行計(jì)算。

(4)豐富的運(yùn)算符

C語言包含34個(gè)運(yùn)算符,它將賦值、括號(hào)等均視作運(yùn)算符來操作,使C程序的表達(dá)式類型和運(yùn)算符類型均非常豐富。

(5)可對(duì)物理地址進(jìn)行直接操作

C語言允許對(duì)硬件內(nèi)存地址進(jìn)行直接讀寫,以此可以實(shí)現(xiàn)匯編語言的主要功能,并可直接操作硬件。C語言不但具備高級(jí)語言所具有的良好特性,又包含了許多低級(jí)語言的優(yōu)勢(shì),故在系統(tǒng)軟件編程領(lǐng)域有著廣泛的應(yīng)用。

(6)代碼具有較好的可移植性

C語言是面向過程的編程語言,用戶只需要關(guān)注所被解決問題的本身,而不需要花費(fèi)過多的精力去了解相關(guān)硬件,且針對(duì)不同的硬件環(huán)境,在用C語言實(shí)現(xiàn)相同功能時(shí)的代碼基本一致,不需或僅需進(jìn)行少量改動(dòng)便可完成移植,這就意味著,對(duì)于一臺(tái)計(jì)算機(jī)編寫的C程序可以在另一臺(tái)計(jì)算機(jī)上輕松地運(yùn)行,從而極大地減少了程序移植的工作強(qiáng)度

(7)可生成的高質(zhì)量目標(biāo)代碼,高執(zhí)行效率的程序

與其他高級(jí)語言相比,C語言可以生成高質(zhì)量和高效率的目標(biāo)代碼,故通常應(yīng)用于對(duì)代碼質(zhì)量和執(zhí)行效率要求較高的嵌入式系統(tǒng)程序的編寫。

c語言函數(shù)求方程的根

#includestdio.h

#includestdlib.h

#includemath.h

int main()

{

float a,b,c,x,x1,x2,d;

scanf("%f %f %f",a,b,c);

d=b*b-4*a*c;

if(a==0)

{

if(b==0)

{

if(0==c)

{

printf("等式0!\n");

}

else

{

printf("輸入錯(cuò)誤!\n");

}

}

else

{

printf("只能構(gòu)成一元一次方程,x=%.6f\n",0==-(float)c/b ? 0 : -(float)c/b);

}

}

else

{

if(d0)

{

x1=(-b+sqrt(-d))/(2.0*a);

x2=(-b-sqrt(-d))/(2.0*a);

printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));

}

else if(d==0)

{

printf("x1=x2=%.6f\n",(-b)/(2.0*a));

}

else

{

x1=(-b+sqrt(d))/(2.0*a);

x2=(-b-sqrt(d))/(2.0*a);

printf("x1=%.6f\nx2=%.6f\n",x1,x2);

}

}

system("PAUSE");

return EXIT_SUCCESS;

}

C語言中求方程的根

如圖:

C語言是一門通用計(jì)算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。

盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。

c語言編程,求方程的根,在線等,急

使用二分法求解f(x)=x^3-x-1=0在區(qū)間(1,2)上的解

(2011-05-12 22:32:32)

轉(zhuǎn)載▼

標(biāo)簽:

二分法

區(qū)間

函數(shù)

方程

求解

計(jì)算方法

雜談

分類: C

//使用二分法求解f(x)=x^3-x-1=0在區(qū)間(1,2)上的解

#includeiostream.h

#includemath.h

const double eps=0.000001; //對(duì)于精度的控制

//為方便的代碼的書寫,故編寫此函數(shù),以此求得此函數(shù)值

double f(double x)

{

return pow(x,3)-x-1; //當(dāng)函數(shù)發(fā)生改變時(shí),修改此處即可

}

//解的具體實(shí)現(xiàn)的函數(shù)

void solequ(double min,double max,double eps)

{

double temp;

if(f(min)*f(max)0)//判斷方程在此區(qū)間是否有解

{ //有解的情況的求解過程

while(f(max)!=0)

{

temp=(min+max)/2;

if(f(temp)*f(min)0)

{

max=temp;

if(fabs(f(max)-f(min))eps)

break;

}

else

{

min=temp;

if(fabs(f(max)-f(min))eps)

break;

}

}

cout"方程的解為: "tempendl;

}

else //無解的處理

cout"此方程在此區(qū)間上無解"endl;

}

//主函數(shù)入口

int main()

{

double min,max,temp;

cout"請(qǐng)輸入積分下限: ";

cinmin;

cout"請(qǐng)輸入積分上限: ";

cinmax;

if(minmax) //對(duì)于用戶輸入次序相反的處理

{

temp=max;

max=min;

min=temp;

}

solequ(min,max,eps);

return 0;

}

你參考下這個(gè)程序,二分法

用C語言求方程的根

你沒有考慮a=0的情況,我把我寫的給你看看,你看看有什么不同吧:

#includestdio.h

#includemath.h

main()

{

int a,b,c;

double DT,x,x1,x2;

scanf("%d %d %d",a,b,c);

DT=b*b-4*a*c;

if((a==0)(b==0))

printf("Input error!\n");

else

{

if(a==0)

{ x=-c/(1.*b);

printf("x=%.6f\n",x);

}

else

{

if(DT==0)

{x=-b/(2*a);

printf("x1=x2=%.6f\n",x);

}

if(DT0)

{ x1=(-b+sqrt(DT))/(2*a);

x2=(-b-sqrt(DT))/(2*a);

printf("x1=%.6f\nx2=%.6f\n",x1,x2);

}

if((DT0)(b==0))

{DT=-DT;

x1=(sqrt(DT))/(2*a);

x2=(-sqrt(DT))/(2*a);

printf("x1=%.6fi\nx2=%.6fi\n",x1,x2);

}

if((DT0)(b!=0))

{DT=-DT;

x1=-b/(2.*a);

x2=sqrt(1.*DT)/(2*a);

printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi\n",x1,x2,x1,x2);

}

}

}

return 0;

}

具體的輸入輸出格式可能不一樣,因?yàn)椴磺宄愕囊螅幸蓡柨梢詥栁?/p>

當(dāng)前標(biāo)題:c語言編寫方程函數(shù)的根 c語言求函數(shù)的根
本文鏈接:http://chinadenli.net/article28/hijhjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)微信公眾號(hào)虛擬主機(jī)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作