c語言一元二次方程編程是#include?iostream 。#include?cmath。using?namespace?std。int?main()。{float?a,b,c;float?x1,x2; cinabc;float?dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供龍圩企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、成都網(wǎng)站設計、H5開發(fā)、小程序制作等業(yè)務。10年已為龍圩眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接開平方的方法解一元二次方程.如果方程化成x2=p的形式,那么可得x=±p;(x2=p,x=±根號p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
簡潔的語言:
C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。
實際上,語句構成與硬件有關聯(lián)的較少,且C語言本身不提供與硬件相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統(tǒng)。
提供的控制語句具有結構化特征,如for語句、if...else語句和switch語句等。可以用于實現(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設計。
#include?iostream 。
#include?cmath。
using?namespace?std。
int?main()。
{float?a,b,c;float?x1,x2; cinabc;float?dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
couta"x^2+"b"x+"c"=0有兩個實根:";cout"x1="x1",x2="x2endl;} 。
else。
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;couta"x^2+"b"x+"c"=0有兩個虛根:"。
cout"x="x1"+/-"x2"i"endl;}。
return?0。
成立條件:
一元二次方程成立必須同時滿足三個條件:
①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數(shù)在分母上,那么這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數(shù)在根號內(nèi),那么這個方程也不是一元二次方程(是無理方程)。
②只含有一個未知數(shù)。
③未知數(shù)項的最高次數(shù)是2。
int?a;
int?b;
int?c;
求平方根函數(shù)
sqrt()
delta == 0
#include?stdio.h
#include?math.h
int?main(void)
{
int?a?=?1;
int?b?=?2;
int?c?=?1;
double?delta;
double?x1;
double?x2;
delta?=?b*b?-?4*a*c;
if?(delta??0)????
{
x1?=?(-b+sqrt(delta))?/?(2*a);
x2?=?(-b-sqrt(delta))?/?(2*a);
printf?("x1?=?%f,x2?=?%f\n",x1,?x2);
}
else?if?(delta?==?0)
{
x1?=?(-b)?/?(2*a);
x2?=?x1;
printf("x1?=?x2?=?%f\n",x1);
}
else
{
printf("無解");
}
return?0;
}
運行結果:
x1 = x2 = -1.000000
程序想法沒錯,但設計的時候有點失誤。
void
main()
{
float
a=0,b=0,c=0,d=0,x1=0,x2=0,e=0;/*定義變量*/
printf("axe2+bx+c=0,(a,b,c):\n");/*提示輸入3個數(shù)*/
scanf("%f,%f,%f",a,b,c);/*輸入的時候用float型
*/
e=sqrt(d);/*根號d
*/
x1=(-b+e)/(2*a);/*計算方程,公式有點不點,邏輯*/
x2=(-b-e)/(2*a);/*計算方程*/
printf("\n
positive:\n
x1=%f,\n
negative:\nx2=%f",x1,x2);/*輸出x1
x2,輸出的時候也要用float型*/
}
else
printf("equation");/*方程無解*/
getch();
}
//經(jīng)修改,可以正常運行,
還有建議下,你就在定義變量的時候不要一大串一起定義類型,
有時候變量的類型是不無法隱型轉(zhuǎn)換的,就會出錯。
就像程序里面的,開根號又不一定都開出個整數(shù),大多都是帶小數(shù)的,就應該定義成float型,
最后的解也會直接化成帶小數(shù)的,要是你用long(長整型,也是整型的一種),
那小數(shù)點后面就將被程序自動省略,那問題可就大了,呵呵,。
還在做為printf輸出的時候,要給點提示,不然人家也不知道,這a,b,c是干嘛用的。
//只一處有錯,還有一個注意輸入格式.
#includestdio.h
#includemath.h
int main()
{
double p,q,x1,x2,disc,a,b,c;
scanf("%lf,%lf,%lf",a,b,c);//特別注意:此處要求輸入時a,b,c(三個數(shù))之間用逗號隔開,而不是空格!
disc=b*b-4*a*c;
if(disc0)
{
p=-b/(2.0*a);
q=(sqrt(disc))/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%lf\tx2=%lf",x1,x2);
}
else if(disc=0)//只有此處有錯,關系表達式的等于符號是"==",此句改為else if(disc==0);即可
{
p=-b/(2.0*a);
x1=p;
printf("x1=x2=%lf",x1);
}
else if(disc0)
{
disc=-disc;
p=-b/(2.0*a);
q=(sqrt(disc))/(2.0*a);
printf("x1=%lf+%lfi\n",p,q);
printf("x2=%lf-%lfi\n",p,q);
}
return 0;
}
分享題目:c語言函數(shù)一元二次方程 C語言求一元二次方程
URL地址:http://muchs.cn/article28/doccgjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、微信公眾號、網(wǎng)站內(nèi)鏈、軟件開發(fā)、面包屑導航、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)