一元二次方程ax2+bx+c=0,a,b,c的值由键盘输入,请编写等程序,求下列方式的解
各位大侠,小弟刚开始自学C语言,太多的不懂,请大侠指教,在此谢过!!!1、a等于0,b不等于0
2、a等于0,b等于0,c等于0
3、a等于0,b等于0,c不等于0
4、a不等于0,b平方减去4ac大于等于0
5、a不等于0,b平方减去4ac小于等于0
#include <math.h>
main()
{
float a, b, c, d, pr, pi, x1, x2;
scanf("%f%f%f", &a, &b, &c);
printf("a=%f, b=%f, c=%f\n", a, b, c);
if(a==0)
{
if(b!=0)
printf("only one solution x=%f\n", -c/b);
else
if(b==0,c!=0)
printf("no solution\n");
else
printf("x is any value\n");
}
else
{
d=b*b-4*a*c;
if(a!=0,0<=b*b-4*a*c)
{
x1=(-b+sqrt(d))/2*a;
x2=(-b+sqrt(d))/2*a;
printf("x1=%6.2f, x2=%6.2f\n", x1, x2);
}
else
{
pr=-b/(2*a);
pi=-b/(2*a);
printf("x1=%6.2f+%6.2fi\n", pr, pi);
printf("x2=%6.2f-%6.2fi\n", pr, pi);
}
}
getch();
}
这个自己写的程序可以执行,但
pr=-b/(2*a);
pi=-b/(2*a);
printf("x1=%6.2f+%6.2fi\n", pr, pi);
printf("x2=%6.2f-%6.2fi\n", pr, pi);
计算的时候会出现附件中的结果
不知道该如何修改,谢谢各位大侠指教