题解 | 计算一元二次方程
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include<math.h>
int main() {
float a,b,c;
while((scanf("%f%f%f",&a,&b,&c))!=EOF)
{
if(a==0)
printf("Not quadratic equation\n");
else if(a!=0)
{
float d=b*b-4*a*c;
if(d==0)
{
if((-b+sqrt(d))/2/a==0)
printf("x1=x2=0.00\n");
else
printf("x1=x2=%.2f\n",(-b+sqrt(d))/2/a);
}
else if(d>0)
printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(d))/2/a,(-b+sqrt(d))/2/a);
else if(d<0)
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));
}
}
return 0;
}
该题使用while循环来解决多组系数输入问题,每一组数据都是一个循环。当该组数据判断结束时则进入下一组数据循环。
循环内部都是一些简单的条件判断。主要是解决多组数据输入问题!
