c语言由键盘输入3个正整数a,b,c,判断以a,b,c为系数的一元二次方程的解的情况。要求:1、,输出:该方程非一元二次方程。2、,判断:若,该方程有两个不相等的实数根,且输出两根的值,若,该方程有两个相等的实数根,且输出两根的值,若,该方程有两个不等的复数根,且输出两根的值。
时间: 2023-05-20 17:07:26 浏览: 128
该编程问题即为编写解一元二次方程的程序,以下是代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta;
float x1, x2, realPart, imaginaryPart;
printf("请输入3个整数,用空格隔开:");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
realPart = -b / (2 * a);
imaginaryPart = sqrt(-delta) / (2 * a);
printf("该方程有两个不等的复数根:");
printf("x1 = %.2f + %.2fi,x2 = %.2f - %.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("该方程有两个相等的实数根:x1 = x2 = %.2f\n", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该方程有两个不相等的实数根:x1 = %.2f,x2 = %.2f\n", x1, x2);
}
return 0;
}
```
这个程序用到了基本的数学公式,分别计算了判别式 delta,并判断了方程的解的类型,然后进行了相应的输出。
阅读全文