题目是:将一个二维数组由外到内,由小到大,按顺时针方向进行排序,输出排序前后的数组 <br/><br/>下面的是逆时针 怎么把它改成顺时针 <br/><br/><br/><br/><br/>#include <stdio.h> <br/><br/>void print(int a[4][4]); <br/>void sort(int *p); <br/><br/>void main() <br/>{ <br/>int i,j; <br/>int array[4][4]; <br/>for (i=0;i <4;i++) <br/>{ <br/>printf(" input matrix:\n",i+1); <br/>for(j=0;j <4;j++) <br/>{ <br/>scanf("%d",&array[i][j]); <br/>} <br/>} <br/><br/>printf("\n input matrix :\n"); <br/>print(array); <br/><br/>sort(*array); <br/><br/>printf("\n output matrix:\n"); <br/>print(array); <br/>} <br/><br/>void print(int a[4][4]) <br/>{ <br/>int i,j; <br/>for (i=0;i <4;i++) <br/>{ <br/>for(j=0;j <4;j++) <br/>{ <br/>printf("%4d",a[i][j]); <br/>} <br/>printf("\n"); <br/>} <br/>} <br/><br/>void sort(int *p) <br/>{ <br/>int a[16]; <br/>int i,j,temp; <br/>for (i=0;i <15;i++) <br/>{ <br/>for(j=i+1;j <16;j++) <br/>{ <br/>if(p[j] <p[i]) <br/>{ <br/>temp=p[j]; <br/>p[j]=p[i]; <br/>p[i]=temp; <br/>} <br/>} <br/>} <br/>for (i=0;i <16;i++) <br/>{ <br/>a[i]=p[i]; <br/>} <br/><br/>for (i=3,j=0;i>=0,j <4;i--,j++) <br/>{ <br/>p[i]=a[j]; <br/>} <br/>for (i=4,j=4;i <=12,j <=6;i=i+4,j++) <br/>{ <br/>p[i]=a[j]; <br/>} <br/>for (i=13,j=7;i <=15,j <=9;i++,j++) <br/>{ <br/>p[i]=a[j]; <br/>} <br/>p[11]=a[10]; <br/>for (i=7,j=11;i>=5,j <=13;i--,j++) <br/>{ <br/>p[i]=a[j]; <br/>} <br/>p[9]=a[14]; <br/>p[10]=a[15]; <br/>}