史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2009-11-19, 04:17 PM   #1
rainfire 帥哥
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設 求助 - C++問題



--------------------
閱讀本主題的最佳解答
--------------------


#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
for(a=0;a<=7;a++)
{
b=rand()%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}
system("pause");
return 0;
}

題目為:在1~42數字裡隨機挑出7個
但要每次都不同

這個程式跑出來結果每次都一樣
請問要如何解決
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
向 rainfire 送花的會員:
magicwoo (2009-11-21)
感謝您發表一篇好文章
舊 2009-11-20, 09:52 AM   #2 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

rand()
你的隨機種子是否都沒變啊

rand( (unsigned)time( NULL ) )可以嗎?
__________________
http://i171.photobucket.com/albums/u287/sad_jellyfish/net-pic/s_zpsf91b1q3t.jpghttp://i171.photobucket.com/albums/u287/sad_jellyfish/gif/banner.gifhttp://i171.photobucket.com/albums/u287/sad_jellyfish/gif/kkk_zps3punatke.gif
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
有 2 位會員向 猜謎人 送花:
magicwoo (2009-11-21),rainfire (2009-11-20)
感謝您發表一篇好文章
舊 2009-11-20, 12:30 PM   #3 (permalink)
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設

引用:
作者: 猜謎人 查看文章
rand()
你的隨機種子是否都沒變啊

rand( (unsigned)time( NULL ) )可以嗎?
原來裡面可以這樣打@@
本來想打數字,他回報說不能給予條件,只能打void
我試看看,感謝幫忙
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
向 rainfire 送花的會員:
magicwoo (2009-11-21)
感謝您發表一篇好文章
舊 2009-11-21, 04:29 PM   #4 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

引用:
作者: rainfire 查看文章
原來裡面可以這樣打@@
本來想打數字,他回報說不能給予條件,只能打void
我試看看,感謝幫忙
這樣管用嗎

你的問題應該是隨機種子的問題
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
有 2 位會員向 猜謎人 送花:
magicwoo (2009-11-22),rainfire (2009-11-21)
感謝您發表一篇好文章
舊 2009-11-21, 06:14 PM   #5 (permalink)
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設

引用:
作者: 猜謎人 查看文章
這樣管用嗎

你的問題應該是隨機種子的問題
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
for(a=0;a<=7;a++)
{
b=rand((unsigned)time(NULL))%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}
system("pause");
return 0;
}

他編譯後說錯誤說
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
向 rainfire 送花的會員:
magicwoo (2009-11-22)
感謝您發表一篇好文章
舊 2009-11-21, 09:38 PM   #6 (permalink)
註冊會員
 
pedrowong 的頭像
榮譽勳章
UID - 312366
在線等級: 級別:13 | 在線時長:250小時 | 升級還需:2小時級別:13 | 在線時長:250小時 | 升級還需:2小時級別:13 | 在線時長:250小時 | 升級還需:2小時
註冊日期: 2008-10-25
住址: 台北
文章: 94
精華: 0
現金: 207 金幣
資產: 367 金幣
預設



#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b;
srand( (unsigned)time( NULL ) );

for(a=0;a<=7;a++)
{
b=rand()%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}
system("pause");
return 0;
}
pedrowong 目前離線  
送花文章: 4, 收花文章: 84 篇, 收花: 193 次
回覆時引用此帖
有 2 位會員向 pedrowong 送花:
magicwoo (2009-11-22),rainfire (2009-11-22)
感謝您發表一篇好文章
舊 2009-11-22, 01:08 AM   #7 (permalink)
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設

引用:
作者: pedrowong 查看文章
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b;
srand( (unsigned)time( NULL ) );

for(a=0;a<=7;a++)
{
b=rand()%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}
system("pause");
return 0;
}
原來隨機種子要這樣打~~可是為什麼大大執行出來的答案有8個??
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
向 rainfire 送花的會員:
magicwoo (2009-11-22)
感謝您發表一篇好文章
舊 2009-11-22, 09:39 AM   #8 (permalink)
榮譽會員
 
猜謎人 的頭像
榮譽勳章
UID - 14438
在線等級: 級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時級別:99 | 在線時長:10294小時 | 升級還需:106小時
註冊日期: 2002-12-19
住址: 虎爛宮解籤詩處
文章: 18702
現金: 10109 金幣
資產: 2886912 金幣
預設

引用:
作者: rainfire 查看文章
原來隨機種子要這樣打~~可是為什麼大大執行出來的答案有8個??
他的a從0起跳
猜謎人 目前離線  
送花文章: 1110, 收花文章: 16299 篇, 收花: 83322 次
回覆時引用此帖
向 猜謎人 送花的會員:
rainfire (2009-11-22)
感謝您發表一篇好文章
舊 2009-11-22, 10:10 AM   #9 (permalink)
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設

引用:
作者: 猜謎人 查看文章
他的a從0起跳
所以如果是要取7位
應當a=1是嗎?
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
舊 2009-11-22, 09:17 PM   #10 (permalink)
註冊會員
 
pedrowong 的頭像
榮譽勳章
UID - 312366
在線等級: 級別:13 | 在線時長:250小時 | 升級還需:2小時級別:13 | 在線時長:250小時 | 升級還需:2小時級別:13 | 在線時長:250小時 | 升級還需:2小時
註冊日期: 2008-10-25
住址: 台北
文章: 94
精華: 0
現金: 207 金幣
資產: 367 金幣
預設

引用:
作者: rainfire 查看文章
原來隨機種子要這樣打~~可是為什麼大大執行出來的答案有8個??
for(a=0;a<=7;a++)
{
b=rand()%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}

以上程式跑了八次,不是嗎?(你寫的,你忘了?)
for(a=0;a<=7;a++) 改為 for(a=0;a<7;a++)
就會執行七次。
pedrowong 目前離線  
送花文章: 4, 收花文章: 84 篇, 收花: 193 次
回覆時引用此帖
向 pedrowong 送花的會員:
rainfire (2009-11-23)
感謝您發表一篇好文章
舊 2009-11-23, 01:27 AM   #11 (permalink)
註冊會員
 
rainfire 的頭像
榮譽勳章
UID - 314594
在線等級: 級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時級別:27 | 在線時長:865小時 | 升級還需:31小時
註冊日期: 2008-12-06
住址: GB
文章: 2567
精華: 0
現金: 0 金幣
資產: 319176 金幣
預設

引用:
作者: pedrowong 查看文章
for(a=0;a<=7;a++)
{
b=rand()%42+1;
if(b<=42&&b>=0)
printf("%d\n",b);
}

以上程式跑了八次,不是嗎?(你寫的,你忘了?)
for(a=0;a<=7;a++) 改為 for(a=0;a<7;a++)
就會執行七次。
不知道耶==
第一次寫時跑出7個
後來看完你得再跑變8個!!
rainfire 目前離線  
送花文章: 13876, 收花文章: 2480 篇, 收花: 12495 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
求助 - Internet Explorer瀏覽器問題 lonly888 軟體應用問題討論區 2 2007-09-22 11:18 AM
求助 - 誰來教教我~如何改善這個問題 KEN2657 Windows 10 各種疑難討論專區 11 2007-09-03 06:03 PM
求助 - 有關嘸蝦米輸入法的幾個問題 光犽 一般電腦疑難討論區 0 2007-08-11 07:47 PM
Nero 燒錄人人相關問題喔 loky 一般電腦疑難討論區 19 2002-12-24 02:10 AM


所有時間均為台北時間。現在的時間是 06:37 AM


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


SEO by vBSEO 3.6.1