C語言旅途之用選擇法程序排列

Ⅰ、用選擇法程序排列:
①、//代碼摘下直接可以運行
//選擇法成績排列
#include<stdio.h>
#define N 10

int main()

{

int s,i,j,tmp;

int a[10]={78,56,38,99,81,86,39,100,49,78};

for( i=0; i<10;i++)   //輸出當前數組中的數值

 printf("%d  ",a[i]);

printf("\n");

for( i=0; i<N-1;i++) 

  { s=i;              //S作爲一個判斷值,來決定是否用tmp進行交換

    for( j=i+1;j<10;j++)

       if(a[s]>a[j]) 

         s=j;

    if(s!=i)

      {tmp=a[s];

       a[s]=a[i];

       a[i]=tmp;

      }

  }

for( i=0; i<10;i++)

 printf("%d  ",a[i]);
printf("\n");

return 0;

}
②、結果展示:
例如:此程序是把數組中的十個元素按照從小到大的順序來輸出,輸出的結果如下圖所示:
在這裏插入圖片描述
☺寄語:
Ⅰ、此程序在Visual C++6.0版本上運行的;
Ⅱ、如果我給的程序有問題,或在敘述方面有問題,或者看不懂我講解的意思,請及時指出或留言和我討論,謝謝各位大佬!!!
Ⅲ、
①、程序中首先是輸出數組中的元素,按照數組從0~9的順序輸出元素;
②、然後通過排序使十個元素從小到大的順序輸出:for( i=0; i<N-1;i++)
是指要將十個元素排列,排列的過程是將第一個元素分別於第2~9個元素比較找到最小的一個,然後保存在a[0]中,然後是將第二個元素分別於第3到9個元素比較找到最小的一個,然後保存在a[1]中,以此類推直到a[9]排滿爲止,然後輸出得到最終答案;
③、在數組中請注意a[0]是存儲第一個元素,a[1]是存儲第二個元素,一直到最後;

發佈了63 篇原創文章 · 獲贊 3 · 訪問量 1853
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章