题目:已知一元二次方程的系数为a,b,c(由用户输入),求方程ax²+bx+c=0的根(请考虑到无根的情况)。
注意:需要用到 sqrt()函数,同时最好用 double 型声明。因为用 float 型声明会出现如下图情况,虽然不影响结果。
思路:
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,x1,x2;
printf("请输入三个系数a,b,c\n");
scanf("%lf%lf%lf",&a,&b,&c);
x1=(-b+sqrt(b*b-4*a*c))/2;
x2=(-b-sqrt(b*b-4*a*c))/2;
if(b*b-4*a*c<0)
{
printf("这个一元二次方程无解\n");
}
else
{
printf("这个方程的根为%.2lf和%.2lf\n",x1,x2);
}
return 0;
}
一元二次方程求根方法
摘抄自百度百科