以下程序均在Visual C++6.0中运行成功
例:求方程2x^2-3x-6=0的根
#include
#include
void main()
{
double a=2,b=-3,c=3-6,delt,x1,x2;//double换成float,可以运行,但会出现警告:warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
delt = b*b-4*a*c;
x1=(-b+sqrt(delt))/(2*a);//sqrt为数学函数,表示根号
x2=(-b-sqrt(delt))/(2*a);
printf("x1=%.2lf x2=%.2lf\n",x1,x2);
}
运行结果:
x1=2.19 x2=-0.69
Press any key to continue
求解一元二次方程的根的通用方法
根据数学知识,首先要判断delta与0的关系,同时还要判断二次项系数系数是否为0
#include
#include
void main()
{
double a,b,c,x,x1,x2,delta;
printf("分别输入方程的三个系数:");
scanf("%lf %lf %lf",&a,&b,&c);
if(a)//a可以写成a==0
{
delta=sqrt(b*b-4*a*c);//sqrt为数学函数,表示根号
if(!delta)//!delta可以写成delita==0
{
x1=x2=(-b)/(2*a);
printf("该方程有唯一解:x1=x2=%.2lf\n",x1,x2);//保留了两位小数,精确度可调
}
else if(delta>0)
{
x1=(-b+delta)/(2*a);
x2=(-b-delta)/(2 * a);
printf("x1=%.2lf x2=%.2lf\n",x1,x2);
}
else
printf("该方程无解");
}
else
{
x=-c/b;
printf("该方程的解为:x=%.2lf\n",x);
}
}
作者主页: 正函数的个人主页
文章收录专栏: C语言
欢迎大家点赞 收藏 ⭐ 加关注哦!
如果你认为这篇文章对你有帮助,请给正函数点个赞吧,如果发现什么问题,欢迎评论区留言!!