C语言实验——一元二次方程Ⅰ
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
解一元二次方程ax2+bx+c=0的解。保证有解
Input
a,b,c的值。
Output
两个根X1和X2,其中X1>=X2。 结果保留两位小数。
Example Input
1 5 -2
Example Output
0.37 -5.37
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double x1 = 0,x2 = 0;
void jisuan(double a,double b,double c)
{
double d = b*b-4*a*c,t;
if(d>0)
{
x1 = (-b+sqrt(d))/(2*a);
x2 = (-b-sqrt(d))/(2*a);
if(x1<x2)
{
t = x1;
x1 = x2;
x2 = t;
}
printf("%.2lf %.2lf\n",x1,x2);
}
else if(d==0)
{
x1 = x2 = -b/(2*a);
printf("%.2lf %.2lf\n",x1,x2);
}
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
jisuan(a,b,c);
return 0;
}