前言:
今天各位老铁们对“数组排序c语言数组”都比较珍视,咱们都需要了解一些“数组排序c语言数组”的相关文章。那么小编同时在网络上汇集了一些对于“数组排序c语言数组””的相关知识,希望咱们能喜欢,同学们快快来了解一下吧!废话少说,关键问题在于排列的时候保持列/行不变
代码如下
#include<stdio.h>
int main()
{ int a[5][4]={{140,139,138,137},{136,135,134,133},{132,131,130,129},{128,127,126,125},{124,123,122,121}};//初始化
int i,j,t,k,p;
printf("排序前:\n");
for (i = 0; i < 5; i++)
{
for (j = 0; j <4; j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<5;i++)//对行排列
{
for(j=0;j<3;j++)
{
for(k=0;k<3-j;k++)
{
if(a[i][k]>a[i][k+1])
{
t=a[i][k];a[i][k]=a[i][k+1];a[i][k+1]=t;
}
}
}
}
printf("行排序:\n");
for (i = 0; i < 5; i++)
{
for (j = 0; j <4; j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<4;i++)//对列排列
{
for(j=0;j<4;j++)
{
for(p=0;p<4-j;p++)
{
if(a[p][i]>a[p+1][i])
{
t=a[p][i];a[p][i]=a[p+1][i];a[p+1][i]=t;
}
}
}
}
printf("列排序:\n");
for(i = 0; i < 5; i++) //打印二维数组排序的最终结果
{
for (j = 0; j <4; j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
只要我们的一维数组排序可以熟练运用,二位排序就很好理解了,另外值得注意的是一定要用两次循环来保持行/列不变哦!
以上是我的代码,希望对c语言小白有所帮助,如果代码有用的话,点个关注支持一下吧!
标签: #数组排序c语言数组