程序没错但是输出的结果乱七八糟怎么办
#include <stdio.h>
#include <math.h>
int er(int x,int y,int z)
{
int q,w ,e,r;
q=-y;
w=sqrt(y^2-4*x*z);
e=q+w;
r=e/(2*x);
return(r);
}
int main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=er(a,b,c);
printf("一个解为:%d\n",d);
}