输入三个整数a,b,c,输出一元二次方程ax2+bx+c=0的根
时间: 2023-05-19 19:04:07 浏览: 136
根据一元二次方程的求根公式,可以得到:
delta = b^2 - 4ac
如果 delta 大于等于 0,则方程有实数根,可以得到:
x1 = (-b + sqrt(delta)) / (2a)
x2 = (-b - sqrt(delta)) / (2a)
如果 delta 小于 0,则方程无实数根。
因此,可以根据输入的 a、b、c 的值,计算出方程的根。
相关问题
从键盘输入3个整数a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的根,计算结果保留两位小数。
好的,根据您的要求,我来为您提供解答。
根据一元二次方程的求根公式,设方程的两个根为x1和x2,则有:
x1 = (-b + sqrt(b^2 - 4ac)) / 2a
x2 = (-b - sqrt(b^2 - 4ac)) / 2a
现在,我们将输入的三个整数a、b、c代入上述公式即可求得方程的根。以下是代码实现:
```python
import math
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
c = int(input("请输入c的值:"))
if a == 0:
print("a不能为0,请重新输入!")
else:
delta = b**2 - 4*a*c
if delta < 0:
print("方程无实根!")
elif delta == 0:
x = -b / (2*a)
print("方程有一个实根:x =", round(x, 2))
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实根:x1 =", round(x1, 2), "x2 =", round(x2, 2))
```
运行代码后,您可以按照提示输入三个整数a、b、c的值,程序将会输出方程的根。需要注意的是,如果a=0,则方程不是一元二次方程,需要重新输入。另外,如果方程无实根,则程序会输出“方程无实根!”的提示。
写一个C语言程序,实现当输入a,b,c三个整数的时候,判断一元二次方程ax²+bx+c=0的根的情况。(注:当a等于0的时候,输出“方程为一元二次方程”;当b²-4ac>0时,输出“有2个不同实根”;当b²-4ac=0,输出“有2个相同实根”;当b²-4ac<0,输出“有2个复数共轭根”)。
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c;
double delta, x1, x2, real, imag;
printf("请输入a、b、c:");
scanf("%d %d %d", &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("有2个不同实根,分别为:%lf和%lf\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("有2个相同实根,均为:%lf\n", x1);
}
else
{
real = -b / (2 * a);
imag = sqrt(-delta) / (2 * a);
printf("有2个复数共轭根,分别为:%lf+%lfi和%lf-%lfi\n", real, imag, real, imag);
}
}
return 0;
}
```
当用户输入a、b、c之后,程序会根据a的值和delta的大小输出不同的结果。如果a等于0,则输出“方程为一元一次方程”;如果delta大于0,则输出“有2个不同实根”并给出这两个实根的值;如果delta等于0,则输出“有2个相同实根”并给出这个相同实根的值;如果delta小于0,则输出“有2个复数共轭根”并给出这两个复数共轭根的值。
阅读全文