回复:(sunkaidong)贴出代码看看啊,好象是少下标.
											#include<math.h>
#include<stdlib.h> 
#include<iostream.h>
void main()
{ double A[][]={0};
  double   S,temp,M;   
  int   N,i,j,k,r;     
  cout<<"Please   input   the   N:"<<endl;   
  cin>>N;       
  cout<<"输入增广矩阵A"<<endl;//输入   
  for(i=0;i<N;   i++){   
  for(j=0;j<N+1;   j++)   
  cin>>A[i][j];   
  }   
cout<<endl<<endl;   
cout<<"增广矩阵A:"<<endl;//输出   
for(i=0;i<N;   i++)   
{   
for(j=0;j<N+1;   j++)   
cout<<A[i][j]<<'\t';  
cout<<endl;   
}   
for(k=0;k<N-1;k++)   
  {   
  S=A[k][k];   
  r=k;   
  i=k+1;   
  do   
  {   
  if(fabs(S)<fabs(A[i][k]))//选主元   
  {   
  S=A[i][k];   
  r=i;   
  }   
  i++;   
  }while(i<=N-1);       
  cout<<"A[i][k]="<<S<<'\t'<<"r="<<r<<'\t'<<i<<endl;       
  if(S==0)   
  {   
  cout<<"A为奇异"<<endl;        
  }  
if(r!=k)//行交换   
  {   
  for(j=0;j<N+1;j++)   
  {   
  temp=A[k][j];     
  A[k][j]=A[r][j];   
  A[r][j]=temp;   
  }   
  }           
  for(i=0;i<N;   i++)//输出   
  {   
  for(j=0;j<N+1;   j++)   
  cout<<A[i][j]<<'\t';   
  cout<<endl;   
  }           
  for(i=k+1;i<N;i++)//消元   
  {   
  M=A[i][k]/S;   
  cout<<"计算乘子:"<<M<<endl;   
  for(j=k;j<N+1;j++)   
  A[i][j]-=M*A[k][j];   
  }       
  cout<<endl<<endl;   
  for(i=0;i<N;i++)     //输出   
  {   
  for(j=0;j<N+1;j++)   
  cout<<A[i][j]<<'\t';   
  cout<<endl;   
  }   
  }       
          cout<<"方程组的解"<<endl;       
  for(i=N-1;i>=0;i--)//回代   
  {     
  S=0;     
  j=i+1;   
  while(j!=N)   
  {   
  S+=A[i][j]*A[j][N+1];   
  j++;       
  }       
  A[i][N+1]=(A[i][N]-S)/A[i][i];//保存答案   
  }       
          for(k=0;k<N;k++)     //输出答案   
  cout<<A[k][N+1]<<'\t';   
  cout<<endl<<endl;       
  }