本帖最後由 tonyh 於 2021-4-10 20:47 編輯
假設箱子裡裝了38顆球,每顆球上皆印有號碼 (1 ~ 38),試模擬自箱子取出10顆球,你會拿到哪些號碼的球呢?(每取出一顆球皆花費 0.5 秒)
- #include<iostream>
- #include<cstdlib>
- #include<ctime>
- using namespace std;
- int main()
- {
- srand(time(NULL));
- int ball[10];
- for(int i=0; i<10; i++)
- {
- ball[i]=rand()%38+1; //1~38 最新產生的號碼
- for(int j=0; j<i; j++) //過去已有的號碼
- {
- if(ball[i]==ball[j])
- {
- //cout<<"發生重複!"<<endl;
- i--;
- break;
- }
- }
- }
- cout<<"我拿到的球為: ";
- for(int i=0; i<10; i++)
- {
- cout<<ball[i]<<" ";
- }
- cout<<endl;
- system("pause");
- return 0;
- }
- /*
- rand() 不受限制
- rand()%38 0 ~ 37
- rand()%38+1 1 ~ 38
- */
複製代碼 |