用C语言计算二元一次方程ax²+bx+c=0(a≠0)的根并且分三种情况考虑。
时间: 2024-05-10 22:20:35 浏览: 151
以下是用C语言计算二元一次方程ax²+bx+c=0(a≠0)的根并且分三种情况考虑的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, delta, x1, x2;
printf("请输入二元一次方程的系数a, b, c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("方程无实数解!\n");
}
else if (delta == 0) {
x1 = -b / (2 * a);
printf("方程有唯一解x=%.2lf\n", x1);
}
else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实数解:x1=%.2lf, x2=%.2lf\n", x1, x2);
}
return 0;
}
```
代码解释:
1. 首先,我们定义了四个变量:a、b、c和delta。其中,a、b、c分别表示方程的三个系数,delta表示判别式。
2. 然后,通过scanf函数从控制台输入方程的系数a、b、c。
3. 根据判别式delta的值,我们分别处理三种情况:
* 当delta小于0时,方程无实数解,因此输出“方程无实数解!”。
* 当delta等于0时,方程有唯一解x=-b/2a,因此计算出x1的值,并输出“方程有唯一解x=XXX”。
* 当delta大于0时,方程有两个实数解,因此计算出x1和x2的值,并输出“方程有两个实数解:x1=XXX, x2=XXX”。
4. 最后,返回0表示程序运行成功。
注意:在计算平方根时,需要使用math.h库中的sqrt函数,因此需要在程序开头加上#include <math.h>。同时,我们采用了double类型来存储变量,以保证精度。
阅读全文