c语言 一元二次方程(输入a,b,c,输出两个解。)出错
其他问答
1
a,b,c不论输入多少,代码结果都是无解,不知道是哪里出了问题
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d,x3,x0;
printf("输入三个系数:"); //1 2 1
scanf("a=%lf b=%lf c=%lf",&a,&b,&c);
if(a!=0)
{
d=sqrt(b*b-4*a*c);
if(d=0)
{
x0=(-b)/(2*a);
printf("%.2lf\n",x0);
}
else if(d>0)
{
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
printf("%.2lf%.2lf\n",x1,x2);
}
else
{
printf("无解");
}
}
else
{
x3=-c/b;
printf("%.2lf\n",x3);
}
return 0;
}
-
#include<stdio.h> #include<math.h> int main() { double a, b, c, x1, x2, d, x3, x0; printf("输入三个系数:"); //1 2 1 scanf("a=%lf b=%lf c=%lf", &a, &b, &c); if (a != 0) { d = sqrt(b * b - 4 * a * c); if (d == 0) { x0 = (-b) / (2 * a); printf("%.2lf\n", x0); } else if (d > 0) { x1 = (-b + d) / (2 * a); x2 = (-b - d) / (2 * a); printf("%.2lf%.2lf\n", x1, x2); } else { printf("无解"); } } else { x3 = -c / b; printf("%.2lf\n", x3); } return 0; }
发表回复