-3

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

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

它按我的预期工作,但是,我不理解 and 的算法yx谁能给我另一个代码或解释我在这里的当前代码?

4

2 回答 2

5

它使用Cramer 规则,这是一种无需进行任何代数即可求解联立方程的方法。

于 2013-07-03T13:04:45.723 回答
0

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

于 2013-07-03T12:30:49.693 回答