#include "stdio.h"
#include"math.h"
int main()
{
double a,b,c,y,p,q,x1,x2,x;
printf("求一元二次不等式axx+bx+c=0的解,请输入a,b,c的值:");
scanf("%lf,%lf,%lf\n",&a,&b,&c);
y=bb-4.0ac;
if(a==0)
{
x=-(1.0)*c/b;
printf("不是一元二次方程组,解为x=%3.5lf",x);
}
else if (a!=0)
if(y==0)
{
x1=x2=-(1.0)b/(2.0a);
printf("有两个相等的解x1=x2=%3.5lf",x1=x2);
}
else if(y>0)
{ p=-(1.0)*b/(2.0*a);
q=sqrt(y)/(2.0*a);
x1=p+q;
x2=p-q;
printf("方程有两个不同的解为x1=%3.5lf,x2=%3.5lf",x1,x2);
}
else if(y<0)
{printf("有两个虚根");
}
return 0;
}
程序可以运行,但是运行结果不对,那里出问题了
printf("有两个相等的解x1=x2=%3.5lf",x1=x2);这句话不对,应该是
printf("有两个相等的解x1=x2=%3.5lf",x1);
x=-(1.0)*c/b; 这里,最好判断一下b是否等于0,如果b等于0,方程无解。
另外,scanf("%lf,%lf,%lf\n",&a,&b,&c);这句话中,%lf和%lf之间有逗号,在输入数据的时候也要输入逗号