用c语言交换二维数组中最大值与最小值的位置?
#include<stdio.h>
int main()
{
printf("输入一个正整数n(1<=n<=6):");
int n,a[7][7],max,min,x1=0,x2=0,y1=0,y2=0;
scanf("%d",&n);
printf("输入一个%d阶方阵A:\n",n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(a[i][j]>max)
{
max=a[i][j];//记录最大值
x1=i;//记录行下标
y1=j;//记录列下标
}
if(a[i][j]<min)
{
min=a[i][j];//记录最小值
x2=i;//记录行下标
y2=j;//记录列下标
}
}
int t;
t=a[x1][y1];
a[x1][y1]=a[x2][y2];
a[x2][y2]=t;
printf("最大值和最小值交换后的方阵是:\n");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
printf("%3d ",a[i][j]);
if(j==n-1)
printf("\n");
}
return 0;
}