满意答案
aibaoqiqi
推荐于 2017.11.25
采纳率:42% 等级:12
已帮助:12214人
首先叫法错误,是一元二次方程求根,而不是二元一次方程求根。
其次,判别式小于0时,只能说没有实数解,不能说无解。
最主要的,if后面只能有一个语句,如果需要多个,必须用花括号括起来,组成复合语句。你就是犯了这个错误。把你的程序修改如下,应该可以了。你试试看。
#include
#include
main()
{ float a,b,c,q,x1,x2,x;
printf("请输入三个系数:\n");
scanf("%f%f%f",&a,&b,&c);
q=b*b-4*a*c;
if (q>0)
{ x1=(-b+sqrt(q))/(2*a);
x2=(-b-sqrt(q))/(2*a);
printf("方程有两个解,x1=%f,x2=%f \n",x1,x2);}
else
if (q=0)
{x=-b/(2*a); printf("方程只有一个解,x%f,\n",x);}
else
printf("方程实数解!\n");
}
26分享举报