解一元二次方程的题,思路很简单,毕竟高中解过太多次了,所以写起来不是特别难,也没什么重要的地方。
【题目】
编写程序,输入三个实数a、b、c(假设满足b²-4ac>0),求出方程ax²+bx+c=0的两个实根并显示在屏幕上。
【提示】
开平方操作可用math.h中sqrt函数实现。
【代码】
/******************
* 7sDream 13.09.25
* P18 自立题3
* 求一元二次方程实根
*****************/
#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
int main()
{
//=====定义变量=====
double a,b,c,det,x1,x2;
//=====输入数据=====
cout<<"请输入一元二次方程三个系数a b c:";
cin>>a>>b>>c;
//=====计算和输出=====
det = b * b - 4 * a * c;
if(det >= 0)
{
x1 = (-b + sqrt(det))/(2 * a);
x2 = (-b - sqrt(det))/(2 * a);
if(det == 0)
{
cout<<"此方程只有一个解,为"<<endl<<"x="<<x1<<endl;
}
else
{
cout<<"此方程有两个解,分别为"<<endl<<"x1="<<x1<<endl
<<"x2="<<x2<<endl;
}
}
else
{
cout<<"方程无解,请重新输入!"<<endl;
}
system("pause");
return 0;
}
/**********
* 7sDream
*********/
【结果】
那啥题目里说了假设b-4ac>0可是我没看见 = = 还是写了判断是我的错,因为上次课研究了一下cmath,所以sqrt也提前知道了。恩。。然后就没什么了。