当前位置:C++技术网 > 资讯 > c语言学习笔记分享:9 利用分支语句求一元二次方程

c语言学习笔记分享:9 利用分支语句求一元二次方程

更新时间:2015-11-02 17:29:00浏览次数:1+次


一元二次方程的解的情况有如下的几种可能:

然后我们来来分析一下用分支语句怎么计算出来


最后我们来看看具体代码怎么实现的(vs2015)


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
 double a, b, c;
 scanf("%lf%lf%lf", &a, &b, &c);
 printf("%lf*x*x+%lf*x+%lf=0\n", a, b, c);
 if (a) //a!=0
 {
  printf("一元二次方程");
  double m = b*b - 4 * a*c;
  double n = -1 * b / 2 / a;
  if (m == 0)
  {
   printf("两个相等的实根x1=x2=%lf", n);
  }
  else if (m>0)
  {
   printf("两个不等的实根x1=%lf,x2=%lf", n + sqrt(m) / 2 / a,
    n - sqrt(m) / 2 / a);
  }
  else
  {
   printf("两个不等的虚根%lf+%lfi,%lf-%lfi",
    n, sqrt(-1 * m) / 2 / a,
    n, sqrt(-1 * m) / 2 / a
    );
  }
 }
 else
 {
  printf("非一元二次方程");
  if (b)
  {
   printf("一元一次X=%lf",-1*c/b);
  }
  else
  {
   if (c)
   {
    printf("无解");
   }
   else
   {
    printf("X为任意值");
   }
  }
 }
 system("pause");
}