C语言编写求一元二次方程ax平方加bx+c=0的根分别考虑德尔塔等于b^2-4 AC大于0=0或小于03种情况
时间: 2023-05-25 16:02:53 浏览: 250
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
printf("请输入一元二次方程的系数a,b,c:\n");
scanf("%f%f%f", &a, &b, &c);
float delta = b * b - 4 * a * c; //计算delta的值
float x1, x2;
if(delta > 0) //情况一:delta大于0,有两个不相等的实数根
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的根为:x1 = %f,x2 = %f\n", x1, x2);
}
else if(delta == 0) //情况二:delta等于0,有两个相等的实数根
{
x1 = x2 = -b / (2 * a);
printf("方程的根为:x1 = x2 = %f\n", x1);
}
else //情况三:delta小于0,没有实数根,有两个虚数根
{
float realPart = -b / (2 * a); //计算实部
float imaginaryPart = sqrt(-delta) / (2 * a); //计算虚部
printf("方程的根为:x1 = %f + %fi,x2 = %f - %fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
阅读全文