为何输出语句放在选择语句外和内得到结果不一样

为什么输出语句放在选择语句外和内得到结果不一样?
为何输出语句放在选择语句外和内得到结果不一样
int main()
{
int a,b,c,der,temp;
printf("请依次输入二元一次方程的系数\n依次为二次项/一次项/一次项:");
scanf("%d %d %d",&a,&b,&c);
printf("%f",(-b)/(2*a));
printf("方程只有一解%.2f",-c/b);
if (a==0)
{
if (b==0)
{
if (c==0)
{
printf("方程有无数多解");
}
else
{
printf("方程无解");
}
}
else
{
printf("方程只有一解%.2f",-c/b);
}
}

------解决方案--------------------
格式字符串和实际数据不匹配。%f的话,后面的整型数据要转成float型。
------解决方案--------------------
这些要学会自己调试,值不一样,你就将不同情况下,用于计算的各变量的值打印出来,问题就显而易见了吧。
------解决方案--------------------
请判断scanf函数的返回值!
------解决方案--------------------
(float)(-b)/(2*a),试试这个吧