c语言由键盘输入3个正整数a,b,c,判断以a,b,c为系数的一元二次方程的解的情况。要求:1、,输出:该方程非一元二次方程。2、,判断:若,该方程有两个不相等的实数根,且输出两根的值,若,该方程有两个相等的实数根,且输出两根的值,若,该方程有两个不等的复数根,且输出两根的值。输入格式三个正整数a,b,c输出格式输出以a,b,c为系数的一元二次方程的解的情况
时间: 2023-05-14 14:07:31 浏览: 201
以下是C知道的回答:
请看以下代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c;
double delta, x1, x2;
scanf("%d %d %d", &a, &b, &c);
if (a == 0)
{
printf("该方程非一元二次方程");
}
else
{
delta = b * b - 4 * a * c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该方程有两个不相等的实数根,分别为 %.2lf 和 %.2lf", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("该方程有两个相等的实数根,均为 %.2lf", x1);
}
else
{
printf("该方程有两个不等的复数根");
}
}
return 0;
}
```
输入格式为三个正整数a,b,c,输出格式为该方程的解的情况。如果该方程非一元二次方程,则输出"该方程非一元二次方程";如果该方程有两个不相等的实数根,则输出"该方程有两个不相等的实数根,分别为x1和x2",其中x1和x2为实数根的值,保留两位小数;如果该方程有两个相等的实数根,则输出"该方程有两个相等的实数根,均为x",其中x为实数根的值,保留两位小数;如果该方程有两个不等的复数根,则输出"该方程有两个不等的复数根"。
希望这个回答能够帮到你!
阅读全文