帮忙看一看,这个是怎么回事啊
在一个3*3的矩阵中交换最大值和最小值的位置,再输出这个矩阵(我的代码运行后就停止工作了,我取地址了,也没有超范围啊,是怎么回事呢?)
#include <stdio.h>
int main()
{
int k;
int x,y;
int z,w;
int a[3][3];
int i,j,t;
int max,min;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
max=a[0][0],min=a[0][0];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{k=a[i][j];
if(max<k)
{t=max;max=k;k=t;x=i,y=j;}
k=a[i][j];
if(min>k)
{t=min;min=k;k=t;z=i,w=j;}
}
}
t=a[x][y];a[x][y]=a[z][w];a[z][w]=t;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",a[i][j]);
}
printf("%d\12",a[i][j]);
}
return 0;
}