C语言求解二元一次方程的问题
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 15:55:34
C语言求解二元一次方程的问题
程序如下#include
#include
void main()
{
\x05float a,b,c,m,n,p,x1,x2;
\x05printf("输入a,b,c的值:\n");
\x05scanf("%f,%f,%f",&a,&b,&c);
\x05p=b*b-4*a*c;
\x05m=(-b)/2*a;
\x05n=sqrt(b*b-4*a*c)/2*a;
\x05if(a=0)
\x05{
\x05\x05x1=x2=(-c)/b;
printf("x1=%f\tx2=%f\n",x1,x2);
\x05}
\x05else if (p>=0)
\x05{
\x05\x05
\x05\x05
x1=m+n;
x2=m-n;
\x05\x05printf("x1=%6.2f\tx2=%6.2f\n",x1,x2);
\x05}
\x05else
\x05\x05printf("此方程无解!");
}
其它情况都对着,但a=0时,输出总是x1,x2=0,这是为什么?
程序如下#include
#include
void main()
{
\x05float a,b,c,m,n,p,x1,x2;
\x05printf("输入a,b,c的值:\n");
\x05scanf("%f,%f,%f",&a,&b,&c);
\x05p=b*b-4*a*c;
\x05m=(-b)/2*a;
\x05n=sqrt(b*b-4*a*c)/2*a;
\x05if(a=0)
\x05{
\x05\x05x1=x2=(-c)/b;
printf("x1=%f\tx2=%f\n",x1,x2);
\x05}
\x05else if (p>=0)
\x05{
\x05\x05
\x05\x05
x1=m+n;
x2=m-n;
\x05\x05printf("x1=%6.2f\tx2=%6.2f\n",x1,x2);
\x05}
\x05else
\x05\x05printf("此方程无解!");
}
其它情况都对着,但a=0时,输出总是x1,x2=0,这是为什么?
你的第一个判断if(a=0)不对,应该是if(a==0),这样就行了,我刚才试了,没问题了,有什么不懂的我们可以交流,我其实也是个初学者,我在学习单片机呢.