intmain()
{inta[10];//既然是輸入10個整數,陣列開10個即可
inttemp;
inti,j;
intk,n;
k=0;
n=10;//需要設定n=10,否則迴圈結束條件i<n-1就永遠不成立了
for(i=0;i<n;i++)scanf("%d",&a[i]);//輸入10個數需要逐一輸入,格式"%d"不能有空格
//所謂選擇法,即每次選擇當前範圍內最小的數然後放到前面,需要兩重迴圈
for(i=0;i<n-1;i++)//第1重迴圈指定用i可以訪問陣列前面n-1個數,順序訪問
{//然後在當前數之後的所有數中選擇最小的記錄下來,最後與當前i位置的數進行交換
for(j=i+1,temp=i;j<n;j++)//迴圈令j可順序訪問當前i之後的陣列元素
//迴圈開始temp假定i處元素最小
if(a[j]<a[temp])temp=j;//如果當前j位置元素比temp記錄位置的小,temp記錄小的位置
k=a[i];a[i]=a[temp];a[temp]=k;//交換當前i位置的數成temp記錄的i之後最小位置的數
}
for(i=0;i<n;i++)printf("%d",a[i]);printf("\n");//列印陣列也需要用迴圈逐一列印
intmain()
{inta[10];//既然是輸入10個整數,陣列開10個即可
inttemp;
inti,j;
intk,n;
k=0;
n=10;//需要設定n=10,否則迴圈結束條件i<n-1就永遠不成立了
for(i=0;i<n;i++)scanf("%d",&a[i]);//輸入10個數需要逐一輸入,格式"%d"不能有空格
//所謂選擇法,即每次選擇當前範圍內最小的數然後放到前面,需要兩重迴圈
for(i=0;i<n-1;i++)//第1重迴圈指定用i可以訪問陣列前面n-1個數,順序訪問
{//然後在當前數之後的所有數中選擇最小的記錄下來,最後與當前i位置的數進行交換
for(j=i+1,temp=i;j<n;j++)//迴圈令j可順序訪問當前i之後的陣列元素
//迴圈開始temp假定i處元素最小
if(a[j]<a[temp])temp=j;//如果當前j位置元素比temp記錄位置的小,temp記錄小的位置
k=a[i];a[i]=a[temp];a[temp]=k;//交換當前i位置的數成temp記錄的i之後最小位置的數
}
for(i=0;i<n;i++)printf("%d",a[i]);printf("\n");//列印陣列也需要用迴圈逐一列印
}