描述
对于一个一元二次方程,给定二次项系数,一次项系数,与常数项,要求你求出方程的根
输入
输入三个整数,分别代表二次项系数,一次项系数,常数项(二次项系数不为0)
输出
1. 如果有不同的两个解,每个数字四舍五入为整数,按照从小到大的顺序输出;
2. 如果有两个相同的解,数字四舍五入为整数,只输出一个解;
3. 如果无实数解,输出 error 。
输入样例 1
1 -4 0
输出样例 1
0 4
输入样例 2
1 2 1
输出样例 2
-1
输入样例 3
1 0 1
输出样例 3
error
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a!=0)
{
int det=b*b-4*a*c;
if(det<0)
printf("error");
else if(det==0)
{
float x;
x=(-b)/(2*a);
printf("%.0f",x);
}
else if(det>0)
{
float x1,x2,k;
k=sqrt(det);
x1=(-b+k)/(2*a);
x2=(-b-k)/(2*a);
if(x1<x2)
printf("%.0f %.0f",x1,x2);
else
printf("%.0f %.0f",x2,x1);
}
}
return 0;
}