返回列表 發帖

排序 (二)

產生10個範圍介於1~20之不重複隨機亂數, 並利用選擇排序法將它們由小而大排列出來.



本帖隱藏的內容需要回復才可以瀏覽

本帖隱藏的內容需要回復才可以瀏覽

TOP

  1. #include<iostream>
  2. #include<ctime>
  3. using namespace std;
  4. int main()
  5. {
  6.     int s[10];

  7.     srand(time(NULL));
  8.     for(int i=0;i<10;i++)
  9.     {
  10.         s[i]=rand()%20+1;
  11.         for(int j=0;j<i;j++)
  12.         {
  13.             if(s[i]==s[j])
  14.             {
  15.                 i--;
  16.                 break;
  17.             }
  18.         }
  19.     }

  20.     for(int i=0;i<9;i++)
  21.     {
  22.         for(int j=i+1;j<10;j++)
  23.         {
  24.             if(s[i]>s[j])
  25.             {
  26.             int tmp=s[i];
  27.                 s[i]=s[j];
  28.                 s[j]=tmp;
  29.             }
  30.         }
  31.     }
  32.     cout<<"10個範圍介於1~20之不重複隨機亂數,由小而大依序為:"<<endl;

  33.     for(int i=0;i<10;i++)
  34.     {
  35.         cout<<s[i]<<" ";
  36.     }
  37. }
複製代碼

TOP

返回列表