『壹』 C語言,選擇法排序,對數組A進行升序排列,求答案,謝大神!
給你個我以前寫的降序的程序,你稍微改下就行了,我懶得改了,
#include <stdio.h>
#define N 10
main()
{
int i,j;/*i,j為循環變數*/
long a[N],temp,min; /*a[min]為比較時較小的數*/
printf("請依次輸入%d個數。\n",N);
/*進行循環輸入這十個數*/
for(i=0;i<N;i )
scanf("%ld",&a[i]);
printf("你輸入的%d個數是\n",N);
/*進行循環輸出這十個數*/
for(i=0;i<N;i )
printf("%ld ",a[i]);
printf("\n");
/*利用選擇法,即從後9個比較過程中,選擇一個最小的與第一個
元素交換,下次類推,即用第二個元素與後8個進行比較,並進行交換。*/
for(i=0;i<N-1;i )
{
min=i;
for(j=i 1;j<N;j )
if(a[j]>a[min])
{
temp=a[j];
a[j]=a[min];
a[min]=temp;
}
}
printf("這%d個數從大到小排列為\n",N);
/*列印出這十個經排列後的數*/
for(i=0;i<N;i )
printf("%d ",a[i]);
printf("\n");
}