C语言实验题——一元二次方程
解一元二次方程ax2+bx+c=0的解。输入输入三个实数a,b,c的值,且a不等于0。输出输出两个根X1和X2,用空格隔开,具体格式为:X1X2其中大的根先输出,即X1>...
解一元二次方程ax2+bx+c=0的解。
输入
输入三个实数a,b,c的值,且a不等于0。
输出
输出两个根X1和X2,用空格隔开,具体格式为:
X1 X2
其中大的根先输出,即X1>=X2。
结果保留两位小数。数据保证一定有实根。
样例输入
1 5 -2
样例输出
0.37 -5.37
我的代码是这样子的,请教各位大牛,哪里错掉了啊,谢谢
#include <stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double d,x1,x2;
scanf("%d",&a);
while(a!=0)
{
scanf("%d %d",&b,&c);
d=sqrt(b*b-4*a*c);
if (d>=0)
{
x1=((-b+d)/(2*a));
x2=((-b-d)/(2*a));
printf("%.2lf %.2lf\n",x1,x2);
}
else
printf("ERROR\n");
break ;
}
return 0;
} 展开
输入
输入三个实数a,b,c的值,且a不等于0。
输出
输出两个根X1和X2,用空格隔开,具体格式为:
X1 X2
其中大的根先输出,即X1>=X2。
结果保留两位小数。数据保证一定有实根。
样例输入
1 5 -2
样例输出
0.37 -5.37
我的代码是这样子的,请教各位大牛,哪里错掉了啊,谢谢
#include <stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double d,x1,x2;
scanf("%d",&a);
while(a!=0)
{
scanf("%d %d",&b,&c);
d=sqrt(b*b-4*a*c);
if (d>=0)
{
x1=((-b+d)/(2*a));
x2=((-b-d)/(2*a));
printf("%.2lf %.2lf\n",x1,x2);
}
else
printf("ERROR\n");
break ;
}
return 0;
} 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询