本帖最後由 鄭繼威 於 2022-4-16 12:03 編輯
假設箱子裡裝了38顆球,每顆球上皆印有號碼 (1 ~ 38),試模擬自箱子取出10顆球,你會拿到哪些號碼的球呢?(每取出一顆球皆花費 0.5 秒)
- #include<cstdlib>
- #include<iostream>
- #include<ctime>
- using namespace std;
- int main()
- {
- srand(time(NULL));
- int n[10]; //宣告長度為10的陣列
- //沒有外面只有裡面(執行1次)
- for(int j=0; j<10; j++) //執行10次的迴圈->抽10顆球
- {
- n[j]=rand()%38+1; //1~38放入陣列裡->模擬抽第j球的動作
- //判斷是否有重複
- for(int k=0; k<j; k++) //跑j次迴圈->決定要檢查j個數
- {
- if(n[j]==n[k]) //k位置跟原本的j位置比較是否有相等
- {
- //如果有的話就跳出去(break)此迴圈,並回去(j--)原本的位置
- j--;
- break;
- }
- }
- }
- cout<<"我拿到的球為: ";
- for(int j=0; j<10; j++)
- {
- cout<<n[j]<<" "; //把剛剛抽到的球印出來(機數+空格)
- _sleep(500);
- }
- cout<<endl<<endl;
- system("pause");
- return 0;
- }
複製代碼 |