#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;

 }

}

}