写一个C语言程序,实现当输入a,b,c三个整数的时候,判断一元二次方程ax²+bx+c=0的根的情况。(注:当a等于0的时候,输出“方程为一元二次方程”;当b²-4ac>0时,输出“有2个不同实根”;当b²-4ac=0,输出“有2个相同实根”;当b²-4ac<0,输出“有2个复数共轭根”)。
时间: 2024-03-21 22:40:42 浏览: 75
c代码-求ax平方+bx+c+=0
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c;
double delta, x1, x2, real, imag;
printf("请输入a、b、c:");
scanf("%d %d %d", &a, &b, &c);
if (a == 0)
{
printf("方程为一元一次方程\n");
}
else
{
delta = b * b - 4 * a * c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("有2个不同实根,分别为:%lf和%lf\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("有2个相同实根,均为:%lf\n", x1);
}
else
{
real = -b / (2 * a);
imag = sqrt(-delta) / (2 * a);
printf("有2个复数共轭根,分别为:%lf+%lfi和%lf-%lfi\n", real, imag, real, imag);
}
}
return 0;
}
```
当用户输入a、b、c之后,程序会根据a的值和delta的大小输出不同的结果。如果a等于0,则输出“方程为一元一次方程”;如果delta大于0,则输出“有2个不同实根”并给出这两个实根的值;如果delta等于0,则输出“有2个相同实根”并给出这个相同实根的值;如果delta小于0,则输出“有2个复数共轭根”并给出这两个复数共轭根的值。
阅读全文