導航:首頁 > 源碼編譯 > 編譯求解一元二次方程

編譯求解一元二次方程

發布時間:2023-06-06 17:36:52

❶ 用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);
}

❷ Java 如何編程實現一元二次方程的求解

//求解一元二次方程ax^2+bx+c=0的實根和復根,Test類是主類
class OnceBasicQuadraticEquation //求解一元二次方程ax^2+bx+c的實根和復根的類,其中getRoot()方法求根和顯示根
{
private double a; //方程的二次項系數
private double b; //方程的一次項系數
private static double c; //方程的常數項
//以上三個成員變數分別是方程的系數

OnceBasicQuadraticEquation() //無參構造方法
{
a = 0;
b = 0;
c = 0;
}

OnceBasicQuadraticEquation(double a,double b,double c) //有參構造方法
{
this.a = a;
this.b = b;
this.c = c;
}

public void setA(double a)
{
this.a = a;
}

public double getA()
{
return a;
}

public void setB(double b)
{
this.b = b;
}

public double getB()
{
return b;
}

public void setC(double c)
{
this.c = c;
}

public double getC()
{
return c;
}
//以上六個方法分別對應三個系數的置取方法

public double getDlt() //計算判別式Δ=b^2-4ac的值
{
double result = Math.pow(b,2) - 4 * a * c;
return result;
}

private double getRightRoot() //求解右側較大實根的方法
{
double rightRoot = 0;
rightRoot = (-b + Math.sqrt(getDlt())) / (2 * a);
return rightRoot;
}

private double getLeftRoot() //求解左側較小實根的方法
{
double leftRoot = 0;
leftRoot = (- b - Math.sqrt(getDlt())) / (2 * a);
return leftRoot;
}

public void getRoot() //求解並顯示實根或復根的方法
{
if(a==0)
{
if(b==0)
{
if(c==0)
{
System.out.println("一元二次方程:" + getA() + "x^2+" //a、b、c全為零時,定義方程有無窮多解。
+ getB() + "x+"
+ getC() + "\t有無窮多解。");
}
else
{
//二次項和一次項系數為零,但常數項不為零,方程變為不等式,無解。
System.out.println("一元二次方程:" + getA() + "x^2+"
+ getB() + "x+"
+ getC() + "\t無解。");
}
}
else
{
//二次項系數為零,一次項系數不為零,方程是一次方程,有唯一解。
double result = 0;
result = -getC() / getB();
System.out.println("一元二次方程:" + getA() + "x^2+"
+ getB() + "x+"
+ getC() + "\t有唯一解:" + result);
}
}
else //二次項系數不為零,方程有兩個實根或復根。
{
if(getDlt()==0) //判別式Δ=b^2-4ac=0,方程有兩個相等實根。
{
double result = 0;
result = -getB() / (2 * getA());
System.out.println("一元二次方程:" + getA() + "x^2+"
+ getB() + "x+"
+ getC() + "\t有唯一解:" + result);
}
else if(getDlt()>0) //判別式Δ=b^2-4ac>0,方程有兩個相異實根。
{
System.out.println("一元二次方程:" + getA() + "x^2+"
+ getB() + "x+"
+ getC() + "\t有兩個實根:" + getLeftRoot() + "和" + getRightRoot());
}
else //判別式Δ=b^2-4ac<0,方程有兩個復根。
{
//double imaginaryNumber1 = 0;
double imaginaryNumber = 0;
double realNumber = 0;
imaginaryNumber = Math.sqrt(-getDlt()) / (2 * a);
realNumber = -getB() / (2 * a);
System.out.println("一元二次方程:" + getA() + "x^2+"
+ getB() + "x+"
+ getC() + "\t有兩個復根:"
+ realNumber + "±" + imaginaryNumber + "i");
}
}
}
}

public class Test
{
public static void main(String [] args)
{
OnceBasicQuadraticEquation e1 = new OnceBasicQuadraticEquation(4,13,3);
e1.getRoot();

}
}

閱讀全文

與編譯求解一元二次方程相關的資料

熱點內容
不卡免費電影 瀏覽:372
國際服伺服器卡頓怎麼辦 瀏覽:944
攀登者電影英文翻譯 瀏覽:758
台灣經典老片在線 瀏覽:892
滅國公主小說 瀏覽:191
韓國電影中兄弟兩個叫朴尚銀,朴國昌 瀏覽:668
你和他是怎麼去電影院?英語 瀏覽:453
娃娃的鬼電影 瀏覽:771
債法原理pdf 瀏覽:143
家庭高級課程 女主角 瀏覽:221
法國電影勞拉失憶症在線播放 瀏覽:959
類似七界傳說的小說 瀏覽:580
李采潭2022年主演的電影 瀏覽:698
愛情大尺度外國電影 瀏覽:612
帶妹子小說 瀏覽:434
劍橋民國史pdf 瀏覽:980
女主叫林晚晚男主叫沈池 瀏覽:934
小電影資源 瀏覽:668
踢米app怎麼建自習室 瀏覽:230
穿越的父女文 瀏覽:35