史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   請教DEV-C9-++ 亂數問題 (http://forum.slime.com.tw/thread218375.html)

孤鷹 2007-10-17 11:25 PM

請教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)
*/

孤鷹 2007-10-17 11:56 PM

了解了
 
感謝各位大大..我解出來了...我少設了時間變數: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)
*/

mini 2007-10-18 12:05 PM

沒有事先使用亂數種子產生指令的話
每次重新執行程式
其亂數表都會是一模一樣的
這是 C++的亂數特性


所有時間均為台北時間。現在的時間是 08:27 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1