用C ++求解联立方程

时间:2013-07-03 12:21:08

标签: c++

我目前正在尝试创建一个可以解决联立方程的程序。我有这个:

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;
}

它按预期工作,但是,我不理解yx的算法,有人可以给我另一个代码或解释我在这里的当前代码吗?

2 个答案:

答案 0 :(得分:5)

它正在使用Cramer's Rule,这是一种在不进行任何代数的情况下求解联立方程的方法。

答案 1 :(得分:0)

使用此处给出的代码,没有同时解决。代码简单地用“a1”,“a2”,“b1”,“b2”,“c1”和&来计算“y”。 “c2”变量然后用“y”,“a1”,“b1”和& “c1”计算“x”。您是否有关于这些方程式的更多信息? (虽然我是新来的,但我认为你的问题只是超出了这个网站的范围;它看起来更像是一个数学问题,而不是一个代码问题。)