求一元二次方程ax^2+bx+c=0的解.输入 有多组测试数据.每组数据是一行上的三个实数a、b、c的值,a不为0.输入确保有2个实数根.输出 对每组数据,一行输出两个实根x1和x2,其中x1>=x2,要求结果保
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 16:07:49
![求一元二次方程ax^2+bx+c=0的解.输入 有多组测试数据.每组数据是一行上的三个实数a、b、c的值,a不为0.输入确保有2个实数根.输出 对每组数据,一行输出两个实根x1和x2,其中x1>=x2,要求结果保](/uploads/image/z/7113821-5-1.jpg?t=%E6%B1%82%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E6%96%B9%E7%A8%8Bax%5E2%2Bbx%2Bc%3D0%E7%9A%84%E8%A7%A3.%E8%BE%93%E5%85%A5+++%E6%9C%89%E5%A4%9A%E7%BB%84%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE.%E6%AF%8F%E7%BB%84%E6%95%B0%E6%8D%AE%E6%98%AF%E4%B8%80%E8%A1%8C%E4%B8%8A%E7%9A%84%E4%B8%89%E4%B8%AA%E5%AE%9E%E6%95%B0a%E3%80%81b%E3%80%81c%E7%9A%84%E5%80%BC%2Ca%E4%B8%8D%E4%B8%BA0.%E8%BE%93%E5%85%A5%E7%A1%AE%E4%BF%9D%E6%9C%892%E4%B8%AA%E5%AE%9E%E6%95%B0%E6%A0%B9.%E8%BE%93%E5%87%BA++%E5%AF%B9%E6%AF%8F%E7%BB%84%E6%95%B0%E6%8D%AE%2C%E4%B8%80%E8%A1%8C%E8%BE%93%E5%87%BA%E4%B8%A4%E4%B8%AA%E5%AE%9E%E6%A0%B9x1%E5%92%8Cx2%2C%E5%85%B6%E4%B8%ADx1%26gt%3B%3Dx2%2C%E8%A6%81%E6%B1%82%E7%BB%93%E6%9E%9C%E4%BF%9D)
求一元二次方程ax^2+bx+c=0的解.输入 有多组测试数据.每组数据是一行上的三个实数a、b、c的值,a不为0.输入确保有2个实数根.输出 对每组数据,一行输出两个实根x1和x2,其中x1>=x2,要求结果保
求一元二次方程ax^2+bx+c=0的解.
输入 有多组测试数据.每组数据是一行上的三个实数a、b、c的值,a不为0.输入确保有2个实数根.
输出 对每组数据,一行输出两个实根x1和x2,其中x1>=x2,要求结果保留两位小数.
样例输入 1 5 -2
样例输出 0.37 -5.37
这是我的,
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d,e,f,g;
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
e=sqrt(d);
f=-b+e;
g=-b-e;
x1=f/2*a;
x2=g/2*a;
if(x1>=x2)
printf("%.2f %.2f\n",x1,x2);
else
printf("%.2f %.2f\n",x2,x1);
return 0;
}
为什么出来是这个,
求一元二次方程ax^2+bx+c=0的解.输入 有多组测试数据.每组数据是一行上的三个实数a、b、c的值,a不为0.输入确保有2个实数根.输出 对每组数据,一行输出两个实根x1和x2,其中x1>=x2,要求结果保
逻辑问题,多打印,多调试.
#include
#include
int main()
{
double a,b,c,x1,x2,d,e,f,g;
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
e=sqrt(d);
f=-b+e;
g=-b-e;
x1=f/(2*a); /* 改错 */
x2=g/(2*a);
if(x1>=x2)
printf("%.2f %.2f\n",x1,x2);
else
printf("%.2f %.2f\n",x2,x1);
return 0;
}