更新时间: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");
}
相关资讯