#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<stdlib.h> // 清屏
int main()
{
float a, b, c, n1, n2, t, i, f1, f2, f3, f4;
printf("请先将一元二次方程化解为标准方程式:\n a*x^2+b*x+c=0 \n");
printf("再依次输入一元二次方程的项(a,b,c):--> ");
scanf("%f%f%f", &a, &b, &c);
t = b * b - 4 * a * c;
if (a == 0)
{
system("cls");
printf("不满足一元二次方程条件!\n");
printf("二次方前面系数a不为零!\n");
return 0;
}
else
{
if (t < 0)
{
f1 = sqrt(-t);
f2 = (-1) * (b) / (2 * a);
f3 = (f1) / (2 * a);
f4 = (-1) * (f1) / (2 * a);
system("cls");
printf(" \n 此解为复数! \n\n");
printf("解为:\nx1=%7.2fi+%7.2f\nx2=%7.2fi+%7.2f\n", f3, f2, f4, f2);
return;
}
else if (t == 0)
{
n1 = -b / (2 * a);
system("cls");
printf("\n解为:\nx1=x2=%7.2f \n", n1);
return 0;
}
else
{
i = sqrt(t);
n1 = (-b + i) / (2 * a);
n2 = (-b - i) / (2 * a);
system("cls");
printf("\n两个实数解为:\nx1=%7.2f\nx2=%7.2f\n", n1, n2);
return 0;
}
}
}