我编了一段程序如下:
#include "iostream.h"
 void main()
 {
     int a[3][2],b[2][2],i,j,k,c,m[3];
     float l[3],d[2],e,f,f1,f2,x1,x2,g,y[3];
     cout<<"输入:";
     cin>>a[0][0]>>a[0][1]>>a[1][0]>>a[1][1]>>a[2][0]>>a[2][1]>>m[0]>>m[1]>>m[2]>>l[0]>>l[1]>>l[2];
     for(i=0;i<3;i++)
      for(j=0;j<2;j++)
      {c=0,e=0;
       for(k=0;k<3;k++)
       {c+=m[k]*(a[k][i]*a[k][j]);
        e+=m[k]*(a[k][j]*l[k]);
       }
       b[i][j]=c;
       d[j]=e;
      }
     f=(b[0][0]*b[1][1])-(b[0][1]*b[1][0]);
     f1=(d[0]*b[1][1])-(d[1]*b[0][1]);
     f2=(b[0][0]*d[1])-(b[1][0]*d[0]);
     x1=f1/f;
     x2=f2/f;
     float x[2]={x1,x2}; 
     {for(i=0;i<3;i++)
      { g=0;
       for(j=0;j<2;j++)
         g+=a[i][j]*x[j];
         y[i]=g;
     }
     }
     cout<<"输出:"<<y[0]<<" "<<y[1]<<" "<<y[2]<<endl;
 }
输入数据:2 1 3 2 4 1 1 1 1 3.0 5.1 4.6
运行结果x1和x2正确,y[1]错误,y[2]和y[3]却是正确的,如果把算y[i]的程序单独运行,结果又正确了,实在不知道问题出在哪里?



本人菜鸟一个,那位高手指导下,谢谢!