C語言編程
創(chuàng)新互聯(lián)是一家專業(yè)提供和平企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為和平眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
輸入二次方程的三個系數(shù)
a
b
c
輸出二次方程的根
#include
stdio.h
#include
stdlib.h
#include
math.h
int
main()
{
float
a,b,c,i,root1,root2;
printf("請輸入三個系數(shù):(輸入格式:a,b,c)");
scanf("%f,%f,%f",a,b,c);
i=b*b-4*a*c;
if(i0)
{
root1=(-b+sqrt(i))/(2*a);
root2=(-b-sqrt(i))/(2*a);
printf("方程有兩不等實根:");
printf("%f,%f",root1,root2);
}
else
if(i==0)
{
root1=root2=-b/(2*a);
printf("方程有兩相等實根:");
printf("%f,%f",root1,root2);
}
else
{
root1=(-b)/(2*a);
root2=sqrt(-i)/(2*a);
printf("方程有兩復(fù)根:");
printf("%f+%fi,%f-%fi",root1,root2,root1,root2);
}
return
0;
}
#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。
參考資料來源:百度百科-c語言
我沒運行代碼 不過問題貌似在else if(fabs(disc)1e-6)
你的第1個if判斷delta 就是那個disc 就是那么三角形樣的東西 為0 那么fabs(disc)=1e-6浮點數(shù)為0
你的第2個elseif 我想你要判斷的是disc為正數(shù) 那么可以直接開方 那你應(yīng)該disc1e-6而不是fabs(disc)1e-6 其實disc0就行了
最后個else你是想disc為負(fù)數(shù) 那么要有i 我建議你寫上disc-(1e-6)或者直接小于0
最后的最后 你一開始f=sqrt(disc)/(2*a); 有驗算disc是大于等于0的親??。?!
#include stdio.h
int main(void)
{
double a,b,c,d,e;
double x1,x2;
printf("請輸入ax^2+bx +c = 0中a,b,c的值");
scanf("%lf,%lf,%lf",a,b,c);
e = b * b - 4 * a * c;
if (e0) {
printf("無解,請重新輸入\n");
scanf("%lf,%lf,%lf",a,b,c);
}
printf("輸入正確,正在計算....\n");
d = sqrt(e);
x1 = (-b + d)/(2 * a);
x2 = (-b - d)/(2 * a);
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);
return 0;
}
網(wǎng)頁題目:c語言函數(shù)二次方程根 用c語言編寫求二次函數(shù)的根
標(biāo)題來源:http://muchs.cn/article4/doeisoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、用戶體驗、動態(tài)網(wǎng)站、服務(wù)器托管、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)