三元一次方程组 公式 c语言

#include<stdio.h>#include<conio.h>#include<math.h>main(){doublea,b,c,d,A,B,C,D,e,f,g,... #include <stdio.h>
#include <conio.h>
#include <math.h>
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;

公式有误!
请高手帮忙
展开
 我来答
宛丘山人
推荐于2016-12-01 · 长期从事大学高等数学和计算机数据结构教学
宛丘山人
采纳数:6405 获赞数:24683

向TA提问 私信TA
展开全部
不知你那公式怎么来的,建议采用线性代数的克莱姆方法来解:
为方便和完善期间,增加一个变量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);}

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

答案错了呀!

追答
没关系,说明程序已经基本正确,仔细检查代码,尤其是大小写。我已经说过,你的变量设置不好,大小写很容易错。调试就行了。
把你的程序发一份给我,有时间给你看一下。
东莞大凡
2024-11-19 广告
板格标定棋盘是我们东莞市大凡光学科技有限公司在精密光学测量领域的重要工具。它采用高精度设计,确保每一个格板都达到严格的校准标准。通过使用板格标定棋盘,我们能够有效地对光学测量系统进行校准,从而提升测量的准确性和可靠性。这一工具在光学仪器的研... 点击进入详情页
本回答由东莞大凡提供
丘光庄倚
2019-10-02 · TA获得超过3778个赞
知道大有可为答主
回答量:3144
采纳率:30%
帮助的人:204万
展开全部
赋值表达式的右值必须确定才能进行赋值,你把X,Y,Z的方程化简一下,让表达式的右边没有未知数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式