1、判断是不是二次方程,(a=0,不是二次方程)
2、判断实根数,b²-4ac=0,两个相等实根;
b²-4ac>0,两个不等实根;
b²-4ac<0,没有实根;
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
system("mode con cp select=65001");
printf("请输入方程系数a,b,c的值:");
scanf("%lf,%lf,%lf",&a,&b,&c);
// 计算b平方-4ac的值
disc=b*b-4*a*c;
// 求平方根
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
// 通过a的值判断是否是二次方程
if(a==0){
printf("该方程不是二次方程!\n");
}
else{
// 判断是否有相同实根
if(disc==0){
printf("该方程式有两个相等实根:\n");
printf("x1=x2=%5.2f\n",x1);
}
else if(disc>0){
printf("该方程式有两个不等实根:\n");
printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
}
else{
printf("该方程没有实根!\n");
}
}
return 0;
}