C语言实现请编写一程序,输入a,b,c三个数,代表一元二次方程:ax^2+bx+c=0中的系数a,b,c。要求程序输出改一元二次方程有无实根,若有,输出是否是重根。
时间: 2024-04-15 09:31:44 浏览: 113
下面是用C语言编写的程序,用于输入一元二次方程的系数a、b、c,并判断该方程是否有实根以及是否为重根:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
float discriminant;
// 输入一元二次方程的系数
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%f", &a);
printf("b = ");
scanf("%f", &b);
printf("c = ");
scanf("%f", &c);
// 计算判别式
discriminant = b * b - 4 * a * c;
// 判断是否有实根
if (discriminant > 0) {
printf("该一元二次方程有两个实根。\n");
// 判断是否为重根
if (discriminant == 0) {
printf("实根为:%.2f\n", -b / (2 * a));
printf("该一元二次方程有一个重根。\n");
} else {
float root1 = (-b + sqrt(discriminant)) / (2 * a);
float root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("实根1为:%.2f\n", root1);
printf("实根2为:%.2f\n", root2);
}
} else if (discriminant == 0) {
printf("该一元二次方程有一个实根:%.2f\n", -b / (2 * a));
printf("该一元二次方程有一个重根。\n");
} else {
printf("该一元二次方程没有实根。\n");
}
return 0;
}
```
你可以输入一元二次方程的系数a、b、c,然后程序将计算判别式,并判断方程是否有实根以及是否为重根。如果有实根,程序将输出实根的值。希望这个程序能够满足你的需求!
阅读全文
相关推荐















