參考程式碼:
#include <stdio.h>
#include "stdlib.h"
#include "time.h"
int main(int argc,char *argv[]){
int a[5][8],i,j,k,t,*p;
printf("排序前:\n");
srand((unsigned)time(NULL));
for(i=0;i<5;i++){//為二維陣列賦值
for(j=0;j<8;printf("%3d",a[i][j++]=rand()%100));
printf("\n");
}
printf("排序後:\n");
p=(int *)a;//降為一維,這樣排序簡單
for(t=i=0;i<40;i++){//選擇法排序
for(k=i,j=k+1;j<40;j++)
if(p[k]>p[j])
k=j;
if(k!=i)
j=p[k],p[k]=p[i],p[i]=j;
printf(++t%8 ? "%3d" : "%3d\n",p[i]);
return 0;
參考程式碼:
#include <stdio.h>
#include "stdlib.h"
#include "time.h"
int main(int argc,char *argv[]){
int a[5][8],i,j,k,t,*p;
printf("排序前:\n");
srand((unsigned)time(NULL));
for(i=0;i<5;i++){//為二維陣列賦值
for(j=0;j<8;printf("%3d",a[i][j++]=rand()%100));
printf("\n");
}
printf("排序後:\n");
p=(int *)a;//降為一維,這樣排序簡單
for(t=i=0;i<40;i++){//選擇法排序
for(k=i,j=k+1;j<40;j++)
if(p[k]>p[j])
k=j;
if(k!=i)
j=p[k],p[k]=p[i],p[i]=j;
printf(++t%8 ? "%3d" : "%3d\n",p[i]);
}
return 0;
}