C语言程序:判断ax^2+bx+c=0的方程有几个解,如果有则输出,系数a,b,c由键盘输入. 下面是我编写的,错在哪里?

2024-11-30 13:37:04
推荐回答(3个)
回答1:

括号没有对应好,第二个printf里多了一个%8.2f,a可能为0,改为
#include
#include
void main()
{
float a,b,c;
printf("plese input a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a!=0){
if(b*b-4*a*c>0)
printf("%8.2f,%8.2f\n",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
else if(b*b-4*a*c==0)
printf("%8.2f\n",-b/(2*a));
else
printf("方程无解");
}else{
printf("%8.2f\n",-c/b);
}
}

回答2:

a可能是0,b也可能是0

回答3:

用牛顿切线法吧?