#include <stdio.h> int main() { int array[5][5]; int i,j,k,temp,min;
int min_i = 0,m = 0; //利用min_i记录最小的数的下标,用m记录换行次数 srand( time(NULL) ); //利用随机函数分配一个数组 for(i = 0;i < 5;i++ ) { for(j = 0;j < 5;j++ ) { array[i][j] = rand() % 100; printf("%-4d",array[i][j]); } printf("\n"); } while( m < 5 ) { min = array[m][0]; for( i = m;i < 5 ;i++ ) { for(j = 0;j < 5;j++ ) { if( min > array[i][j]) //找出最小的数,并记录下它的下标 { min = array[i][j]; min_i = i; } } } for(k = 0;k < 5;k++ ) //进行整行替换 { temp = array[m][k]; array[m][k] = array[min_i][k]; array[min_i][k] = temp; } m++; } printf("The new array 1 is :\n"); for(i = 0;i < 5;i++ ) { for(j = 0;j < 5;j++ ) printf("%-4d",array[i][j]); printf("\n"); } return 0; }
结果程序运行示例:
66 66 19 82 24 61 68 99 34 39 11 3 27 13 83 60 12 73 35 14 25 54 92 18 64 The new array 1 is : 11 3 27 13 83 60 12 73 35 14 25 54 92 18 64 66 66 19 82 24 61 68 99 34 39
