![]() |
請教DEV-C9-++ 亂數問題
這是小弟寫的程式,其中亂數值一定是41:on_72:,要如何使取亂數範圍在0-100??各位大大敎導一下吧!!:on_47:
#include <iostream> #include <cstdlib> using namespace std; int main() { int sum,y; y=rand()%101; cout<<"請輸入1-100任一數值="; cin>>sum; do { if(sum<0||sum>100) { cout<<"你輸入的數值有誤."; cout<<"請輸入1-100任一數值="; cin>>sum; } else if(y==sum) { break; } else if(0<=sum<=100 && sum>y) { cout<<"亂數值範圍在"<<sum<<"到"<<y<<"之間."; cout<<"請輸入1-100任一數值**="; cin>>sum; } // (0<=sum<=100 && sum<y) else { cout<<"亂數值範圍在"<<y<<"到"<<sum<<"之間."; cout<<"請輸入1-100任一數值~~="; cin>>sum; } }while(y!=sum); cout<<"你猜對了"<<endl; system("pause"); return 0; } /* 如果想產生介於m~n之間的整數, 可以以下列算式求得↓ m + rand()%(n-m+1) */ |
了解了
感謝各位大大..我解出來了...我少設了時間變數:on_77:
#include <iostream> #include <cstdlib> using namespace std; int main() { int sum,y; srand(time(0));//以時間函數為種子數 y=1+rand()%101; cout<<"請輸入1-100任一數值="; cin>>sum; do { if(sum<0||sum>100) { cout<<"你輸入的數值有誤."; cout<<"請輸入1-100任一數值="; cin>>sum; } else if(y==sum) { break; } else if(0<=sum<=100 && sum>y) { cout<<"亂數值範圍在"<<sum<<"到"<<y<<"之間."; cout<<"請輸入1-100任一數值**="; cin>>sum; } // (0<=sum<=100 && sum<y) else { cout<<"亂數值範圍在"<<y<<"到"<<sum<<"之間."; cout<<"請輸入1-100任一數值~~="; cin>>sum; } }while(y!=sum); cout<<"你猜對了"<<endl; system("pause"); return 0; } /* 如果想產生介於m~n之間的整數, 可以以下列算式求得↓ m + rand()%(n-m+1) */ |
沒有事先使用亂數種子產生指令的話
每次重新執行程式 其亂數表都會是一模一樣的 這是 C++的亂數特性 |
所有時間均為台北時間。現在的時間是 05:59 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *