用C++求解联立方程
Solving simultaneous equations with C++
我目前正在尝试创建一个可以求解联立方程的程序。我有这个:
int main()
{ float a1,a2,b1,b2,c1,c2;
float x,y;
system("CLS");
printf("We require simultaneous in the form of nnta1x+b1y=c1nnta2x+b2y=c2n");
printf("enter the values of a1,b1,c1 n a2,b2,c2n respectively:n");
scanf("%f%f%f%f%f%f",&a1,&b1,&c1,&a2,&b2,&c2);
printf("The Simultaneous equations are n %fx+%fy=%f",a1,b1,c1);
printf("andn%fx+%fy=%f",a2,b2,c2);
printf("nnThe Solution is=n");
y=(((c1*a2)-(c2*a1))/((b1*a2)-(a1*b2)));
x=((c1-(b1*y))/a1);
printf(" x = %f",x);
printf("n y = %f",y);
_getch();
return 0;
}
它正在按我的预期工作,然而,我不理解y
和x
的算法吗?有人能给我另一个代码或解释我这里的当前代码吗?
它使用了Cramer规则,这是一种不用做任何代数就能求解联立方程的方法。
使用此处给出的代码,不存在同时求解。代码简单地用"a1"、"a2"、"b1"、"b2"、"c1"&"c2"变量,然后使用"y"、"a1"、"b1"&"c1"来计算"x"。你有关于这些方程式的更多信息吗?(虽然我是新来的,但我认为你的问题超出了这个网站的范围;它看起来更像是一个数学问题,而不是一个代码问题。)