猿问

想知道我的关于解一元二次方程的程序为什么不能输出正确解答,错在哪里?

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define EPS 1e-6
 main()
{
 float a, b, c, disc, p, q;
 printf("Please enter the coefficients a, b, c:");
 scanf("%f,%f,%f", &a, &b, &c);
 if (fabs(a) <= EPS)
 {
  printf("It is not a quadratic equation!\n");
  exit(0);
 }
 disc = b * b - 4 * a * c;
 p = -b / (2 * a);
 q = sqrt(fabs(disc))/(2*a);
 if (fabs(disc) <= EPS )
 {
  printf("x1 = x2 = % .2f\n",p);
 }
 else
 {
  if (disc > EPS)
  {
   printf("x1 = %.2f, x2 = %.2f\n",p+q,p-q);
  }
  else
  {
   printf("x1 = %.2f+%.2fi,", p, q);
   printf("x2 = %.2f-%.2fi\n", p, q);

  }
 }
}


qq_踏破惊雷又为谁_04097195
浏览 1143回答 1
1回答
随时随地看视频慕课网APP
我要回答