C语言二维数组怎么按行递增排序?

例:有一个5*5的二维数组,如何按行递增排序。
生成的数组的代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j,iNums[5][5];
srand(time(NULL));
for(i = 0;i < 5;i++){ //打印5*5的二位数组
for(j = 0;j < 5;j++){
iNums[i][j]=rand()%90+10; //随机生成2位数
printf("%-6d",iNums[i][j]);
}
printf("\n");
}
}

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void Sort(int a[],int n) {//一维数组的增排序,选择排序
int i,j,k,t;
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1;j < n; ++j) {
if(a[k] > a[j]) k = j;
}
if(i != k) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}

void Show(int a[],int n) {
int i;
for(i = 0; i < n; ++i)
printf("%2d ",a[i]);
printf("\n");
}

int main() {
int i,n = 5,a[5][5] = {32,56,47,58,95,21,33,56,14,52,46,58,26,9,8,6,56,74,52,54,54,35,66,32,49};
// srand(time(NULL));
printf("排序前:\n");
for(i = 0;i < n;i++) {
Show(a[i],n);
Sort(a[i],n);
}
printf("\n");
printf("排序后:\n");
for(i = 0;i < n;i++) Show(a[i],n);
printf("\n");
return 0;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网