求大佬帮忙看看,为什么复数i不能正确使用?整个程序好像还有点什么错误
#include <stdio.h>
#include<math.h>
int main()
{
char i=sqrt(-1);
float a, b, c,x1,x2,D;
printf("请输入a,b,c");
scanf_s("%f %f %f", &a, &b, &c);
D = b * b - 4 * a*c;
if (D < 0)
{
x1 = (-b + sqrt(-D)*i ) / (2 * a);
x2 = (-b - sqrt(-D)*i )/ (2 * a);
printf("该函数有两个不相等的虚数根x1=%f,x2=%f", x1, x2);
}
else
{
if (D = 0)
{
x1 = x2 = -b / (2 * a);
printf("该函数有两个相等的实数根x1=x2=%f", x1=x2);
}
else
{
x1 = (-b + sqrt(D)) / (2 * a);
x2 = (-b - sqrt(D)) / (2 * a);
printf("该函数有两个不相等的实数根x1=%f,x2=%f", x1, x2);
}
}
return 0;
}