一元二次方程的一般形式:
分析求解过程:
- 当a=0,不能构成一元二次方程。
- 当b=0,不一定能构成等式
- 当c=0,即为恒等式0=0
- 当a不等于0,可构成一元二次方程,考虑实根和虚根
基于伪代码,实现一元二次方程的求解程序:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
double a,b,c,d;
printf("输入方程的系数a,b,c: ");
scanf("%lf%lf%lf",&a,&b,&c);
if(0==a) {
if(0==b) {
if(0!=c) {
printf("不能构成等式\n");
} else {
printf("这是恒等式0=0\n");
}
} else {
printf("这是一元一次方程,根为: %lf\n",-c/b);
}
} else {
d=b*b-4*a*c;//判别式
if(0==d) {
printf("两个相等的根,x1=x2=%lf\n",-b/(2*a));
} else if(d>0) {
printf("两个不相等的根,x1=%lf, x2=%lf\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
} else {
printf("两个虚根,x1=%lf+%lfi, x2=%lf-%lfi\n",-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));
}
}
system("pause");
return 0;
}
更多推荐
【C语言程序设计】C语言实现一元二次方程的求解
发布评论