( 25分 ) 编写程序,计算并输出一元二次方程ax2+bx+c=0的两个实根,其中a、b、c的值由用户从键盘输入(假设该方程有两个不等实根)。
时间: 2023-04-03 22:03:45 浏览: 100
您好,我可以回答这个问题。以下是计算一元二次方程的两个实根的程序:
#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;
}
希望能对您有所帮助。
相关问题
用c语言编程计算并输出一元二次方程ax2+bx+c=0的两个实根,其中a、b、c的值由用户从键盘输入,假设a、b、c的值能保证方程有两个不相等的实根(即b2-4ac>0)。
以下是用C语言编写的计算并输出一元二次方程的两个实根的程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, delta;
printf("请输入一元二次方程的系数a、b、c:\n");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该一元二次方程的两个实根分别为:x1 = %.2f,x2 = %.2f\n", x1, x2);
return 0;
}
```
程序首先提示用户输入一元二次方程的系数a、b、c,然后通过`scanf()`函数将输入的值存储在相应的变量中。接着,程序计算方程的判别式delta,并根据求根公式计算方程的两个实根x1和x2。最后,程序使用`printf()`函数输出结果。注意,为了保证输出结果的精度,使用了`%.2f`格式化字符串来限定输出结果的小数位数为两位。
本关任务:根据下面给出的求根公式,计算并输出一元二次方程ax2+bx+c=0的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示 "error!"。
好的,我来用中文回复。
本关任务要求计算一元二次方程ax2+bx+c=的两个实根,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示 "error!"。
阅读全文