编写程序,使用键盘输入a,b,c三个系数,然后计算一元二次方程ax2 +bx+c=0的 根x1,x2并输出,结果保留两位小数。如果b2 −4ac≥0,则有两个实根;如果b2 −4ac0, 则有两个虚根。
时间: 2024-06-06 16:08:34 浏览: 68
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b ** 2 - 4 * a * c
if delta >= 0:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
print("方程的两个实根分别为:{:.2f}和{:.2f}".format(x1, x2))
else:
real = -b / (2 * a)
imag = (-delta) ** 0.5 / (2 * a)
print("方程的两个虚根分别为:{:.2f}+{:.2f}j和{:.2f}-{:.2f}j".format(real, imag, real, imag))
相关问题
编写求解一元二次方程ax2+bx+c=0,方程的a,b,c从键盘输入
好的,我可以为您编写这个程序。以下是 Python 代码实现:
```python
import math
a = float(input("请输入二次项系数 a:"))
b = float(input("请输入一次项系数 b:"))
c = float(input("请输入常数项系数 c:"))
delta = b ** 2 - 4 * a * c
if delta < 0:
print("该方程无实数解")
elif delta == 0:
x = -b / (2 * a)
print("该方程有唯一解,x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print("该方程有两个解,x1 =", x1, ",x2 =", x2)
```
这个程序会先从键盘读取输入的三个系数,然后计算判别式 delta,根据 delta 的值分类讨论输出结果。请注意,这个程序只能求解实数解,不能求解复数解。
7-3 编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0(a!=0)的各项系数a、b、c,计算判别式d=b*b-4ac的值。用c语言
在C语言中编写一个用于计算一元二次方程判别式的程序可以如下:
```c
#include <stdio.h>
#include <math.h>
// 函数声明,用于计算判别式
double calculate Discriminant(double a, double b, double c);
int main() {
double a, b, c;
// 输入一元二次方程的系数
printf("请输入一元二次方程的系数a, b, c (a != 0): ");
scanf("%lf %lf %lf", &a, &b, &c);
// 检查a是否为零,防止除数为零错误
if (a == 0) {
printf("错误:在一元二次方程中,a不能为零。\n");
return 1;
}
// 计算判别式并输出结果
double discriminant = calculate Discriminant(a, b, c);
printf("该方程的判别式(d)为: %.2lf\n", discriminant);
return 0;
}
// 计算函数
double calculate Discriminant(double a, double b, double c) {
return b * b - 4 * a * c;
}
```
在这个程序中,我们首先定义了一个`calculate Discriminant`函数,它接收三个参数a、b、c,并返回计算得到的判别式d。然后,在主函数中,用户通过`scanf`输入三个系数,接着检查a是否为零,最后调用计算函数并输出结果。
阅读全文