编写一个程序,根据输入的a、b、c的值,求方程ax2+bx+c=0方程的根。(15分)(注意程序的交互性) 点击复制后,将打开C知道体验页
时间: 2023-05-15 08:05:27 浏览: 52
以下是求解二次方程的程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, delta, x1, x2;
printf("请输入a、b、c的值:\n");
scanf("%lf %lf %lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0)
{
printf("方程无实根!\n");
}
else if (delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("方程有唯一实根:x1 = x2 = %.2lf\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实根:x1 = %.2lf,x2 = %.2lf\n", x1, x2);
}
return 0;
}
注意:本程序中使用了数学库中的sqrt函数,需要在编译时链接数学库,可以使用以下命令编译:
gcc -o quadratic quadratic.c -lm
其中,-lm表示链接数学库。
相关问题
编写一个程序,根据输入的a、b、c的值,求方程ax2+bx+c=0方 程的根
好的,这是一个求解二次方程的问题,可以使用公式法求解。以下是代码示例:
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return "无实数解"
elif delta == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
result = solve_quadratic_equation(a, b, c)
print("方程的根为:", result)
```
输入a、b、c的值后,程序会输出方程的根。如果方程无实数解,则输出"无实数解"。
编写一个程序,根据输入的a、b、c的值,求方程ax2+bx+c=0方程的根。(15分
好的,这是一个求解二次方程的问题,我可以为您提供以下代码:
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return "无实数解"
elif delta == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
```
您可以调用这个函数并传入a、b、c的值来求解方程的根。如果方程无实数解,则返回字符串"无实数解"。如果方程有一个实数解,则返回这个实数解。如果方程有两个实数解,则返回这两个实数解。
例如,如果您想求解方程2x^2 + 5x - 3 = 0的根,您可以这样调用函数:
```python
solve_quadratic_equation(2, 5, -3)
```
这将返回两个实数解:x1 = 0.5, x2 = -3.
阅读全文