为什么b没变化?!
#include <stdio.h>void main()
{
float a[3][3],b[3][3]={{1,0,0},{0,1,0},{0,0,1}};
int i,j,k;
scanf("%f%f%f%f%f%f%f%f%f",&a[0][0],&a[0][1],&a[0][2],&a[1][0],&a[1][1],&a[1][2],&a[2][0],&a[2][1],&a[2][2]);
for(k=0;k<=2;k++)
{
for(j=0;j<=2;j++)
{
a[k][j]=a[k][j]/a[k][k];
b[k][j]=b[k][j]/a[k][k];
}
for(i=0;i<=2;i++)
{
if(i!=k)
{
for(j=0;j<=2;j++)
{
a[i][j]=a[i][j]-a[k][j]*a[i][k];
b[i][j]=b[i][j]-b[k][j]*a[i][k];
}
}
}
}
printf("%f,%f,%f\n%f,%f,%f\n%f,%f,%f\n",a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]);
printf("%f,%f,%f\n%f,%f,%f\n%f,%f,%f",b[0][0],b[0][1],b[0][2],b[1][0],b[1][1],b[1][2],b[2][0],b[2][1],b[2][2]);
}
这是我编的一段求逆矩阵的代码,算法应该没问题,因为a输出时为单位矩阵,但是b却原样输出!这是什么问题??为什么b没变化?!