/原数组
A = [ 1 3 5 7 9 11 13 15 17 19 21 23 ] A=\left[ \begin{matrix} 1 & 3 & 5\\ 7 & 9 & 11 \\ 13 & 15 & 17\\ 19 & 21 & 23 \end{matrix} \right] A=⎣⎢⎢⎡1713193915215111723⎦⎥⎥⎤
更新后数组
A = [ 23 21 19 17 15 13 11 9 7 5 3 1 ] A=\left[ \begin{matrix} 23 & 21 & 19\\ 17 & 15 & 13 \\ 11 &9 & 7\\ 5 & 3 & 1 \end{matrix} \right] A=⎣⎢⎢⎡2317115211593191371⎦⎥⎥⎤
#include <stdio.h>
int main()
{
void sort(int x[][3], int n);
int a[4][3]={1,3,5,7,9,11,13,15,17,19,21,23};
int i,j,count=0;
for(i=0;i<4;i++) //循环输出元素
for(j=0;j<3;j++)
{
printf("%2d ", a[i][j]);
count++;
if(count%4==0) //按3x4输出
printf("\n") ;
}
sort(a, 12);
printf("\n");
for(i=0;i<4;i++) //循环输出元素
for(j=0;j<3;j++)
{
printf("%2d ", a[i][j]);
count++;
if(count%4==0) //按3x4输出
printf("\n") ;
}
printf("%d", a[2][0]);
return 0;
}
void sort(int x[4][3], int n)
{
//临时变量用来交换
int i, j, k;
k=n-1;
int temparray[n];
for(i=0;i<4;i++)
for(j=0;j<3;j++){
temparray[k] = x[i][j];
k--;
}
k=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++){
x[i][j] = temparray[k];
k++;
}
}