重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、配方法:
创新互联是一家专业提供自流井企业网站建设,专注与成都网站建设、网站制作、H5技术、小程序制作等业务。10年已为自流井众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
1、二次项系数化为1。
2、移项,左边为二次项和一次项,右边为常数项。
3、配方,两边都加上一次项系数一半的平方,化成(x=a)^2=b的形式。
4、利用直接开平方法求出方程的解。
二、直接开平方法:
形如(x+a)^2=b,当b大于或等于0时,x+a=正负根号b,x=-a加减根号b;当b小于0时。方程无实数根。
三、公式法:
现将方程整理成:ax^2+bx+c=0的一般形式。再将abc代入公式x=(-b±√(b^2-4ac))/2a,(b^2-4ac大于或等于0)即可。
四、因式分解法:
如果一元二次方程ax^2+bx+c=0中等号左边的代数式容易分解,那么优先选用因式分解法。
扩展资料:
一元二次方程y=ax^2+bx+c(a≠0)中:
1、当Δ0时,方程ax^2+bx+c=0(a≠0)有两个不等的实数根;
2、当Δ=0时,方程ax^2+bx+c=0(a≠0)有两个相等的实数根;
3、当Δ0时,方程ax^2+bx+c=0(a≠0)无实数根。
参考资料来源:百度百科-判别式
以下是一个求解一元二次方程的示例程序,可以手动输入方程的系数a、b、c,然后计算判别式d并判断方程有几个根:
#include stdio.h
#include math.h
int main() {
double a, b, c, d, x1, x2; printf("请输入一元二次方程的系数a、b、c:
"); scanf("%lf %lf %lf", a, b, c);
d = b * b - 4 * a * c; if (d 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a); printf("方程有两个不相等的实根:x1=%.2f,x2=%.2f
", x1, x2);
} else if (d == 0) {
x1 = -b / (2 * a); printf("方程有一个重根:x=%.2f
", x1);
} else { printf("方程没有实根!
");
} return 0;
}
在程序中,首先使用scanf函数从标准输入中读取系数a、b、c的值,然后计算判别式d的值,根据d的值判断方程有几个根,最后使用printf函数输出结果。
如果要手动输入d等于三角形的面积,可以稍微修改一下程序,如下所示:
#include stdio.h
#include math.h
int main() {
double a, b, c, d, x1, x2, p, s; printf("请输入三角形的三条边长a、b、c:
"); scanf("%lf %lf %lf", a, b, c);
p = (a + b + c) / 2; // 计算半周长
s = sqrt(p * (p - a) * (p - b) * (p - c)); // 计算面积
d = b * b - 4 * a * c - 4 * s * s; // 计算判别式
if (d 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a); printf("方程有两个不相等的实根:x1=%.2f,x2=%.2f
", x1, x2);
} else if (d == 0) {
x1 = -b / (2 * a); printf("方程有一个重根:x=%.2f
", x1);
} else { printf("方程没有实根!
");
} return 0;
}
在程序中,除了输入三角形的三条边长a、b、c外,还需要计算三角形的面积s和判别式d。根据一元二次方程的求解公式,判别式d的值应该是b^2 - 4ac - 4s^2,其中s是三角形的面积。如果d大于0,则方程有两个不相等的实根;如果d等于0,则方程有一个重根;如果d小于0,则方程没有实根。
核心公式:b^2-4ac = 0 时,方程有实根,=0时1个,0时2个。
需要:方程的各项系数(只需要系数,可以按照降幂排列)
记录输入的系数,级联式if else判断上述公式的正负情况后即可输出结果。