在用c语言实现一元二次方程求解时,我们首先约定这个方程是AX²+BX+C=0的形式,接下来需要考虑的便是这个一元二次方程的参数问题。我们分三种情况讨论,当A=0,B=0时,这样的参数无法构成合适的方程;当A=0,B≠0时,这个方程是个一元一次方程;当A≠0时,构成一元二次方程。这三种情况中的逻辑我们用if语句很容易就可以实现。接下来我们就需要选择参数的类型,这里我们选择float类型,因为计算机存储数据是二进制,存储浮点数时会有一定的误差,我们就需要定义一个误差精度,实现误差范围内的求解。最后,在第三种情况下我们嵌套if语句,解决一元二次方程中△分别大于小于等于0而解情况不同的问题。具体的代码实现如下:
//
//date:17.9.17
//function:一元二次方程求解
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
#define disc 0.00000001 //误差精度