导航:首页 > 源码编译 > 编译求解一元二次方程

编译求解一元二次方程

发布时间: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();

}
}

阅读全文

与编译求解一元二次方程相关的资料

热点内容
云服务器怎样格式化 浏览:15
框架柱顶部箍筋加密区规范 浏览:168
pythonjson文件读取 浏览:104
梦幻西游源码架设 浏览:123
抽烟有解压效果吗 浏览:826
由于加密数据错误这个会话将结束 浏览:831
javaproject运行 浏览:254
0经验转行单片机 浏览:637
什么叫解压缩下载的文件 浏览:861
什么牌子的手机加密狗好用 浏览:535
程序员编程学习笔记 浏览:863
吃鸡亚服怎么选择不了服务器 浏览:657
数控设备宏程序编程 浏览:839
高速铣编程培训 浏览:649
天正改命令 浏览:772
路由器域名服务器地址怎么填 浏览:87
外挂编译环境用什么 浏览:216
华为云服务器最新价格 浏览:853
自学plc编程pdf 浏览:197
邮件客户端linux 浏览:631