C语言求二元一次方程

Python012

C语言求二元一次方程,第1张

#include <stdio.h>

#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)

}