pta题库答案c语言输入一元二次方程的二次项系数a、一次项系数b和常数项c,若有实根时,计算并输出方程的根,否则输出“无实根”。 一元二次方程求根公式: (要求使用选择结构实现)。
时间: 2025-07-06 15:50:03 浏览: 9
### C语言使用选择结构实现一元二次方程求解
为了处理有实根和无实根的情况,在计算之前需要先判断判别式的值。如果 `Δ` 大于等于零,则存在两个不同的实数根;如果 `Δ` 小于零,则不存在实数根。
下面是一个完整的C语言程序,用于解决这个问题:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double discriminant, root1, root2;
printf("请输入三个系数 (a, b, c): ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a == 0) {
printf("这不是一个有效的一元二次方程。\n");
return 1;
}
// 计算判别式 Δ = b² - 4ac
discriminant = b * b - 4 * a * c;
if (discriminant >= 0) {
// 存在实数根
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
if (discriminant > 0) {
printf("方程有两个不相等的实数根: %.2f 和 %.2f\n", root1, root2);
} else {
printf("方程有一个重根: %.2f\n", root1);
}
} else {
// 方程没有实数根
printf("方程没有实数根。\n");
}
return 0;
}
```
此代码首先读取用户输入的一元二次方程的三个参数 \(a\)、\(b\) 和 \(c\) 并检查是否构成了一元二次方程[^2]。接着通过条件语句来区分不同情况下的输出结果:当判别式大于或等于零时给出具体的实数根;小于零时表示方程无实数解[^1]。
阅读全文
相关推荐
















