如题所述
#include <stdio.h>
int main(int argc,char *argv[]){
int a[3][4]={{1,2,3,4},{0,9,8,-1},{-4,128,99}},*p[3],i,j,k,*q;
for(i=0;i<3;p[i]=a[i++]);
for(i=0;i<3;i++){
for(k=i,j=k+1;j<3;j++)
if(*p[k]>*p[j])
k=j;
if(k-i)
q=p[k],p[k]=p[i],p[i]=q;
for(k=0;k<4;printf("%4d",p[i][k++]));
printf("\n");
}
return 0;
}
int main(int argc,char *argv[]){
int a[3][4]={{1,2,3,4},{0,9,8,-1},{-4,128,99}},*p[3],i,j,k,*q;
for(i=0;i<3;p[i]=a[i++]);
for(i=0;i<3;i++){
for(k=i,j=k+1;j<3;j++)
if(*p[k]>*p[j])
k=j;
if(k-i)
q=p[k],p[k]=p[i],p[i]=q;
for(k=0;k<4;printf("%4d",p[i][k++]));
printf("\n");
}
return 0;
}
供参考……
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-05-22
根据第一个数给每行建立索引,然后按索引输出。
第2个回答 2017-05-22
举一个例子:
main()
{
int a[4][4]={{9,4,2,6},{0,6,7,2}{3,2,4,8}{8,4,2,9}};
int i,j,k,p;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(a[i][0]>a[j][0])
for(k=0;k<4;k++)
{
p=a[i][k];
a[i][k]=a[j][k];
a[j][k]=p;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf(“ %d”,a[i][j]);
printf(“\n”);
}
}本回答被提问者采纳
main()
{
int a[4][4]={{9,4,2,6},{0,6,7,2}{3,2,4,8}{8,4,2,9}};
int i,j,k,p;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(a[i][0]>a[j][0])
for(k=0;k<4;k++)
{
p=a[i][k];
a[i][k]=a[j][k];
a[j][k]=p;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf(“ %d”,a[i][j]);
printf(“\n”);
}
}本回答被提问者采纳