我目前正在尝试创建一个可以解决联立方程的程序。我有这个:
int main()
{ float a1,a2,b1,b2,c1,c2;
float x,y;
system("CLS");
printf("We require simultaneous in the form of \n\n\ta1x+b1y=c1\n\n\ta2x+b2y=c2\n");
printf("enter the values of a1,b1,c1 \n a2,b2,c2\n 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("and\n%fx+%fy=%f",a2,b2,c2);
printf("\n\nThe 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
的算法,有人可以给我另一个代码或解释我在这里的当前代码吗?
答案 0 :(得分:5)
它正在使用Cramer's Rule,这是一种在不进行任何代数的情况下求解联立方程的方法。
答案 1 :(得分:0)
使用此处给出的代码,没有同时解决。代码简单地用“a1”,“a2”,“b1”,“b2”,“c1”和&来计算“y”。 “c2”变量然后用“y”,“a1”,“b1”和& “c1”计算“x”。您是否有关于这些方程式的更多信息? (虽然我是新来的,但我认为你的问题只是超出了这个网站的范围;它看起来更像是一个数学问题,而不是一个代码问题。)