为什么我这个老在return x1,x2显示错误,求解

如题所述

<pre t="code" l="cpp">int main(void)
{
int a,b,c;
printf("请分别输入a,b,c的值:\n");
scanf("%d %d %d",a,b,c);
float x1;
float x2;
int delta;
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt((float)delta))/(2*a);
x2=(-b-sqrt((float)delta))/(2*a);
printf("该一元二次方程有两个解,分别为x1=%f,x2=%f\n",x1,x2);
}
else if(delta==0)
{
x1=(-b)/(2*a); //这里换下顺序,否则x1没初始化,x2值无法预测
x2=x1;
printf("该一元二次方程有一个解,为x1=x2=%f\n",x1);
}
else if(delta<0)
{
printf("该一元二次方程没有解\n");
}

return 0;
}
温馨提示:答案为网友推荐,仅供参考