使用c编写一个能一元二次方程的根的小程序。
时间: 2024-04-30 11:23:23 浏览: 130
以下是一个能够计算一元二次方程根的C程序:
```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 = x2 = -b / (2 * a);
printf("该方程有两个相等的实数解:x1 = x2 = %.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;
}
```
该程序首先接收用户输入的一元二次方程的系数a, b, c,然后计算出方程的判别式delta,根据delta的值分别输出方程的解。如果delta小于0,则输出无实数解;如果delta等于0,则输出两个相等的实数解;如果delta大于0,则输出两个不相等的实数解。其中,使用了math.h头文件中的sqrt函数来计算方根。
上述程序可以在C编译器中编译并运行,得到一元二次方程的解。例如,输入a=2, b=5, c=2,程序将输出:
```
该方程有两个不相等的实数解:x1 = -0.50, x2 = -2.00
```
阅读全文