三元一次方程组 公式 c语言#include #include #include main(){double a,b,c,d,A,B,C,D,e,f,g,h,x,y,z;scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&A,&B,&C,&D,&e,&f,&g,&h);x=(d-(b*y)-(c*z))/a;y=(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B;z=(h-

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 06:01:32

三元一次方程组 公式 c语言#include #include #include main(){double a,b,c,d,A,B,C,D,e,f,g,h,x,y,z;scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&A,&B,&C,&D,&e,&f,&g,&h);x=(d-(b*y)-(c*z))/a;y=(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B;z=(h-
三元一次方程组 公式 c语言
#include
#include
#include
main()
{
double a,b,c,d,A,B,C,D,e,f,g,h,x,y,z;
scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&A,&B,&C,&D,&e,&f,&g,&h);
x=(d-(b*y)-(c*z))/a;
y=(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B;
z=(h-((d-(b*y)-(c*z))/a)*e-(f*(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B))/g;
printf("%lf\n%lf\n%lf",x,y,z);
}
方程组:{a*x+b*y+c*z=d
{A*x+B*y+C*z=D
{e*x+f*y+g*z=h
x=(d-(b*y)-(c*z))/a;
y=(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B;
z=(h-((d-(b*y)-(c*z))/a)*e-(f*(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B))/g;
公式有误!

三元一次方程组 公式 c语言#include #include #include main(){double a,b,c,d,A,B,C,D,e,f,g,h,x,y,z;scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&A,&B,&C,&D,&e,&f,&g,&h);x=(d-(b*y)-(c*z))/a;y=(D-((d-(b*y)-(c*z))/a*A)-(C*z))/B;z=(h-
不知你那公式怎么来的,建议采用线性代数的克莱姆方法来
为方便和完善期间,增加一个变量H,把x=,y=,z=那三行和后面那一行
替换为:
H=a*(B*g-C*f)-A*(b*g-c*f)+e*(b*C-c*B);
if(H==0) printf("次方程组无解!");
else
{x=(d*(B*g-C*f)-D*(b*g-c*f)+h*(b*C-c*B))/H;
y=(d*(A*g-C*e)-D*(a*g-c*e)+h*(a*C-c*A))/H;
z=(d*(A*f-B*e)-D*(a*f-b*e)+h*(a*B-b*A))/H;
printf("%lf\n%lf\n%lf",x,y,z);}

试验一下,不行再问.其实你的变量设置不大好,为了尽量保持原貌,未做改动.