#include<math.h>
int main()
{
double a,b,c
printf("Please input a,b,c\n")
scanf("%f,%f,%f",&a,&b,&c)
double dirt=b*b-4*a*c
if (a==0)//两个==
printf("此方程非二元一次方程")
if (dirt==0)//两个==
{
printf("x1,x2=%f",(-b)/(2*a))
}
else//加大括号 不解释
{
printf("x1=%f\n",(-b+sqrt(dirt))/(2*a))
printf("x2=%f\n",(-b-sqrt(dirt))/(2*a))
}
return 0
}
错误太多 太基础 多看书 仔细点 不解释
#include<stdio.h>main()
{
double a1,b1,c1,a2,b2,c2,x,y
printf("请依次输入A1、B1、C1、A2、B2、C2\n")
scanf("%lf%lf%lf%lf%lf%lf",&a1,&b1,&c1,&a2,&b2,&c2)
x=(c1*b2-b1*c2)/(a1*b2-b1*a2)
y=(c1*a2-a1*c2)/(b1*a2-a1*b2)
printf("x=%lf,y=%lf\n",x,y)
}
二元一次方程一般为ax+by+c=0
dx+ey+f=0
输入a,b,c,d,e,f这些系数后,
转化为x=(-by-c)/a,代入,d*(-by-c)/a+ey+f=0
化简-b*d*y/a-c*d/a+ey+f=0
(ea-b*d)*y/a=c*d/a-f
y=a*(c*d/a-f)/(ea-b*d)
解出y后,x=(-by-c)/a
代码实现:
#include
<stdio.h>
void
main()
{
double
a,b,c,d,e,f,x,y
scanf("%lf
%lf
%lf
%lf
%lf
%lf",&a,&b,&c,&d,&e,&f)
y
=
a*(c*d/a-f)/(e*a-b*d)
x
=
(-b*y-c)/a
printf("%lf\n%lf\n",x,y)
}