#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