题目为
自己写的代码为
我感觉代码有点复杂,有没有更为简单的方式呢
#include <stdio.h>
#include <math.h>
int main(){
float a , b , c, delta, real, imag, x1, x2;
printf("请依次输入三个系数: ");
scanf("%f,%f,%f", &a, &b, &c);
if(a != 0){
delta = 1.0 * b * b - 4.0 * a * c;
if(delta >= 0){
x1 = (-b + sqrt(delta)) / (2.0 * a);
x2 = (-b - sqrt(delta)) / (2.0 * a);
printf("Tow real roots:%.2f and %.2f", x1, x2);
}
else
{
real = -b / (2.0*a);
imag = sqrt(-delta) / (2.0 * a);
printf("Tow complex roos:%.2f+%.2fj and %.2f-%.2fj",real,imag,real,imag);
}
}
else
{
printf("a can not be 0!");
}
return 0;
}