返回列表 發帖

[隨堂測驗] 排序 (二)

本帖最後由 tonyh 於 2021-4-24 20:47 編輯

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

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int n[10];
  9.     for(int i=0; i<10; i++)
  10.     {
  11.          n[i]=rand()%20+1;
  12.          for(int j=0; j<i; j++)
  13.          {
  14.               if(n[j]==n[i])
  15.               {
  16.                    i--;
  17.                    break;              
  18.               }
  19.          }
  20.     }
  21.     for(int i=0; i<9; i++)
  22.     {
  23.         for(int j=i+1; j<10; j++)
  24.         {
  25.              if(n[j]<n[i])
  26.              {
  27.                   int tmp=n[j];
  28.                   n[j]=n[i];
  29.                   n[i]=tmp;        
  30.              }
  31.         }     
  32.     }
  33.    
  34.     cout<<"10個範圍介於1~20之不重複隨機亂數,由小而大依序為:"<<endl;
  35.     for(int i=0; i<10; i++)
  36.         cout<<n[i]<<" ";
  37.     cout<<endl;
  38.    
  39.     system("pause");
  40.     return 0;   
  41. }
複製代碼

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表