一元二次方程求根 为什么输入负值得时候错误了

#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,x1,x2;
printf("请输入一元二次方程的系数abc:\n");
scanf("%f,%f,%f",&a,&b,&c);
p=bb-4ac;
if(p>0)
{
x1=(-b+sqrt(p))/(2
a);
x2=(-b-sqrt(p))/(2a);
printf("有两个实根:x1=%.2f,x2=%.2f",x1,x2);
}
else if(p==0)
{
x1=x2=-2
a/b;
printf("有一个实根:x1=%.2f",x1);
}
else if(p<0) printf("无实数根");
return 0;
}

img

我知道了,你输入的时候把逗号写成英文的呀,用英文逗号将你输入的值隔开,你输入的是中文,所以出现了这个问题,我刚试了一下。你的占位符里面隔开写的是英文,输入的时候就要对应成英文,写的是中文,输入的时候对应的就是中文的逗号。
有帮助的话采纳一下哦!