㈠ 用c語言編寫」求一元二次方程的根」的程序

/*求一元二次方程ax*x+bx+c=0的精確求解方法*/
#include "stdio.h"
#include "math.h"

main()
{
float a,b,c,x1,x2,d;
printf("請輸入內a:");
scanf("%f",&a);
printf("請輸入b:");
scanf("%f",&b);
printf("請輸入c:");
scanf("%f",&c);
d=b*b-4*a*c;

if(d < 0)
printf("方程沒有實容數解。\n");

if (d==0)
{
x1=(-b)/(2*a);
printf("x1=%f\n",x1);
}
if (d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);}
}

㈡ 用C語言編寫求一元二次方程根的程序

#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("Theequation");
if(fabs(a)<=1e-6)
("isnotaquadratic ");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("hastwoequalroots:%8.4f ",-b/(2*a));
else
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("hasdistinctrealroots:%8.4fand%8.4f ",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("hascomplexroots: ");
printf("%8.4f+%8.4fi ",realpart,imagpart);
printf("%8.4f-%8.4fi ",realpart,imagpart);
}
}
return0;
}

㈢ c語言基礎,求一元二次方程的根

求根公式使復用錯誤,另外少了大括制號,加上即可

#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c;
doubled,f;
scanf("%lf%lf%lf",&a,&b,&c);
if((pow(b,2)-4*a*c)>=0){
d=(pow(b*b-4*a*c,1/2)-b)/(2*a);
f=(-pow(b*b-4*a*c,1/2)-b)/(2*a);
printf("x1=%f,x2=%f ",d,f);
}
else{
printf("函數無實數根 ");
}
return0;
}

㈣ c語言編程:求一元二次方程的根

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。

/2/ax2=-b/2/a-sqrt(dlt)/2/a。

cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個實根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;}

else

{x1=-b/2/a;x2=sqrt(-dlt)/2/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個虛根:"。

cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl;}

return0。

(4)c語言求二次方程的根擴展閱讀:

成立條件:

一元二次方程專成立必須同時滿足三個條屬件:

①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。

②只含有一個未知數;

③未知數項的最高次數是2。

㈤ C語言 編程求二次方程根

我沒運行代碼來 不過問題貌似在else if(fabs(disc)>1e-6)
你的源第1個if判斷delta 就是那個disc 就是那麼三角形樣的東西 為0 那麼fabs(disc)<=1e-6浮點數為0
你的第2個elseif 我想你要判斷的是disc為正數 那麼可以直接開方 那你應該disc>1e-6而不是fabs(disc)>1e-6 其實disc>0就行了
最後個else你是想disc為負數 那麼要有i 我建議你寫上disc<-(1e-6)或者直接小於0

最後的最後 你一開始f=sqrt(disc)/(2*a); 有驗算disc是大於等於0的親?!!!

㈥ c語言:求二次方程的根,a,b,c由鍵盤輸入

把p=sqrt(disc)/(2*a);改成q=sqrt(disc)/(2*a);就可以了……

㈦ c語言中,求一元二次方程的根

^

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。

/2/ax2=-b/2/a-sqrt(dlt)/2/a。

cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個實根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;}

else

{x1=-b/2/a;x2=sqrt(-dlt)/2/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個虛根:"。

cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl;}

return0。

(7)c語言求二次方程的根擴展閱讀:

成立條件:

一元二次方程成專立必須同時滿足三個屬條件:

①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。

②只含有一個未知數;

③未知數項的最高次數是2。

㈧ c語言用調用函數求一元二次方程的根

#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根為%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程無實數根\n");
}
main()
{
float a,b,c;
printf("請輸入a,b,c的值\n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}

㈨ C語言編程:求1元2次方程的根

#include <stdio.h>

#include <math.h>

int main()

{

double a,b,c; /*定義系數變數*/

double x1,x2,p; /*定義根變數和表達式的變數值*/

printf("請輸入a,b,c:"); /*提示用戶輸入三個系數*/

scanf("%lf%lf%lf",&a,&b,&c); /*接收用戶輸入的系數*/

printf(" "); /*輸出回行*/

p=b*b-4*a*c; /*給表達式賦值*/

x1=(-b+sqrt(p))/(2*a); /*根1的值*/

x2=(-b-sqrt(p))/(2*a); /*跟2的值*/

printf("x1=%f,x2=%f ",x1,x2); /*輸出兩個根的值*/

}

拓展資料

在實際的求法中,一般還需要判斷有無實根,這是可以通過p的值來判斷