#include<stdio.h>
#define M 2
#define N 2
/*
功能:数据输入方法
参数1:目标数组
参数2:数组长度
返回值:void
*/
//void inPut(int arr[][N],int m,int n)
void inPut(int (*arr)[N],int m,int n)
{
int indexM=0,indexN=0;
printf("请输入一个[%d]*[%d]的二维数组\n",m,n);
for(indexM=0;indexM<m;indexM++)
{
for(indexN=0;indexN<n;indexN++)
{
printf("请输入arr[%d][%d] = ",indexM,indexN);
scanf("%d",&arr[indexM][indexN]);
}
}
}
/*
功能:数组数据显示方法
参数1:目标数组
参数2:数组长度
返回值:void
*/
void outPut(int arr[][N],int m,int n)
{
int indexM=0,indexN=0;
printf("请输入一个[%d]*[%d]的二维数组\n",m,n);
for(indexM=0;indexM<m;indexM++)
{
for(indexN=0;indexN<n;indexN++)
{
printf("arr[%d][%d] = %d\n",indexM,indexN,arr[indexM][indexN]);
}
}
}
/*
功能:二维数组排序
返回值:void
*/
void arrSortUp(int arr[][N],int m,int n)
{
int k=0,j=0;
int *p0;
p0=arr[0];
for(k=0;k<m*n-1;k++)
{
for(j=0;j<m*n-k-1;j++)
{
if(*(p0+j)>*(p0+j+1))
{
*(p0+j) = *(p0+j)+*(p0+j+1);
*(p0+j+1) = *(p0+j)-*(p0+j+1);
*(p0+j) = *(p0+j)-*(p0+j+1);
}
}
}
}
int main(void)
{
int arr2DInt1[M][N];
inPut(arr2DInt1,M,N);
outPut(arr2DInt1,M,N);
arrSortUp(arr2DInt1,M,N);
return 0;
}