用C语言实现,由键盘输入3个正整数a,b,c,判断以a,b,c为系数的一元二次方程的解的情况。要求:1、,输出:该方程非一元二次方程。2、,判断:若,该方程有两个不相等的实数根,且输出两根的值,若,该方程有两个相等的实数根,且输出两根的值,若,该方程有两个不等的复数根,且输出两根的值。
时间: 2023-05-20 11:05:17 浏览: 63
C语言实验-有3个整数a,b,c,由键盘输入,输出其中最大的数(或最小的数)。
以下是用C语言实现的代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2, realPart, imagPart;
printf("请输入三个正整数a,b,c:\n");
scanf("%f %f %f", &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("该方程有两个不相等的实数根:x1=%.2f, x2=%.2f\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("该方程有两个相等的实数根:x1=x2=%.2f\n", x1);
}
else
{
realPart = -b / (2 * a);
imagPart = sqrt(-delta) / (2 * a);
printf("该方程有两个不等的复数根:x1=%.2f+%.2fi, x2=%.2f-%.2fi\n", realPart, imagPart, realPart, imagPart);
}
}
return 0;
}
如果输入的a,b,c符合一元二次方程的条件,程序会输出相应的解。如果不符合条件,程序会输出“该方程非一元二次方程”。
阅读全文