返回列表 發帖

[作業] 產生不重複之隨機亂數 (二)

本帖最後由 陳品肇 於 2019-2-16 15:54 編輯

假設班上有七位同學: 雍程, 彥承, 允軒, 郁庭, 宇翔, 峻瑋, 得旗.
試做一程式, 可隨機地抽選出三位同學.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {         
  6.    
  7.     srand(time(NULL)); //給定亂樹種子
  8.                     // 0      1       2       3       4       5       6  
  9.                     //產生0~6 的隨機亂數
  10.     string name[7]={"雍程", "彥承", "允軒", "郁庭", "宇翔", "峻瑋", "得旗"};
  11.     int n[3];
  12.    
  13.   
  14.    
  15.     for(int i =0;i<3;i++)
  16.     {                        
  17.         n[i] = rand()%7;  // rand()%(最大值-最小值+1)+ 最小值 值放進陣列
  18.         for(int j=0;j<i;j++)  //跑我之前已經產生的結果
  19.         {                     
  20.              if(n[i]==n[j])  //比較值是否已經存在 n[1] == n[0]
  21.              {
  22.                  i--;    // 退回前一格
  23.                  break;
  24.              }
  25.         }
  26.     }
  27.    
  28.     for(int i=0;i<3;i++)
  29.     {
  30.        cout<<name[n[i]]<<" ";
  31.     }
  32.     cout<<endl;
  33.     system("pause");
  34.     return 0;   
  35. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表