#define N 6
#define M 5
#include
void fun(int a[M][N])
{int i,j,k,p,q;
int(*r)[N];
for(k=0;k<M;k++)
{
for(i=0,p=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(a[k]<a[k][j])
p=1;
}
if(p=0)
{
q=a[k][N-1];
a[k][N-1]=a[k];
a[k]=q;
break;
}
}
/*以上为将各行最大值放在其末位
*/
}
for(i=0;i<M;i++)
{
for(j=i;j<M;j++)
{
if(a[j][M-1]<a[j+1][M-1])
{
r=a+j;
(a+j)=(a+(j+1));/*总在这里报错*/
a+(j+1)=r;
}
}
}
}
void main()
{int x[M][N]={{11,52,43,4,25,22},{22,33,46,58,16,47},{83,42,54,26,47,0},
{4,5,6,7,8,9},{45,96,17,18,39,2}},i,j;
fun(x);
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%3d",x[j]);
printf("\n");
}
}
|