ranger
2005-07-26, 01:10 AM
在亂數產生之前先
randomize();
第二次執行時就不會跟第一次一樣
另機率統計應該不是除i吧...總次數應該是n
randomize();
第二次執行時就不會跟第一次一樣
另機率統計應該不是除i吧...總次數應該是n
ranger 2005-07-26, 01:10 AM 在亂數產生之前先 randomize(); 第二次執行時就不會跟第一次一樣 另機率統計應該不是除i吧...總次數應該是n 小熊逛大街 2005-07-26, 01:15 AM 可以請問一下scanf("%d", &n)該如何使用呢? ranger 2005-07-26, 01:41 AM 可以請問一下scanf("%d", &n)該如何使用呢? 這個函式的設計有些特別,它不能接受變數名,必須給它變數的地址。 常用的輸入格式如下: 如果要輸入一個 int 型態的數,用 %d 如果要輸入一個 unsigned int 型態的數,用 %u 如果要輸入一個 float 型態的數,用 %f 如果要輸入一個 double 型態的數,用 %lf (小寫的 L 和 F) 以上的數,假設都以十進制數字輸入。 如果要輸入一個 char 型態的數或字元,不要用 scanf(), 改用 getchar() getchar() 會從標準輸入裝置一個一個字元地讀進來,它不會跳過任何字元。但是 scanf() 會自動跳過所有的連續空白,所謂空白包括了空格、跳格和折列指令 ('\n')。當第一次呼叫 scanf() 的時候,它跳過所有的連續空白,讀取第一個廣義字串,然後按照格式 (例如 %d 或 %f 等等) 解釋讀進來的字串,如果解釋成功了,就將它儲存到指定的地址,並且返回 1;如果沒有成功,就返回 0;如果讀進來的資料代表輸入檔案之結束,就返回 EOF。當第二次呼叫 scanf() 的時候,它就跳過第一個廣義字串之後的所有連續空白,讀取第二個廣義字串,依此類推。 HarrisonLin 2005-07-26, 01:53 AM #include "stdlib.h" #include <iostream> #include "time.h" using namespace std; struct DiceNumAppearTimes { int nNum; int nTimes; } numAppearTimes[6] = {1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0}; void main() { srand(time(0)); int nTimes = 0; cout << "請輸入擲骰次數:"; cin >> nTimes; int nIndex = 0, nNum = 0; for(; nIndex < nTimes; ++nIndex) { (numAppearTimes[(rand() % 6)].nTimes)++; } for(nIndex = 0; nIndex < 6; ++nIndex) { cout << "Number " << numAppearTimes[nIndex].nNum << " : " << numAppearTimes[nIndex].nTimes << " times. (" << (numAppearTimes[nIndex].nTimes * 100 / nTimes) << "%)" << endl; } } 開發環境 : VC++ 6. 交作業前請儘量搞懂程式流程,以免一問三不知... :circle: VicLin 2005-07-26, 01:57 AM 可以請問一下scanf("%d", &n)該如何使用呢? 問MSDN吧... 你以後遇到問題總不能都上網問別人吧? Win32下的問題有一大堆都能在MSDN裡翻出來 只是有些比較難翻 不過 你要學著會找答案 怪盜基德 2005-07-26, 06:38 AM 可以請問一下scanf("%d", &n)該如何使用呢? 既然你說是要交作業 那應該就是在上課中 如果是在上課中 你的課本沒有講到 scanf 的用法 那那本可以丟了 小熊逛大街 2005-07-26, 09:25 AM 既然你說是要交作業 那應該就是在上課中 如果是在上課中 你的課本沒有講到 scanf 的用法 那那本可以丟了 小弟根本還沒買書也沒上過課,純粹只有上網看過其他人寫的筆記而已 還有作業根本不是我要交的好嗎,請搞清楚好嗎......................... :|||: powmien 2005-07-26, 10:15 AM 明天要交作業了 可是我怎樣寫一直錯 有人可以幫我嗎? 題目是:請使用亂數寫一個骰子程式,每次執行結果必需不能重複。 執行結果: 請輸入骰的次數: 骰子一的出現次數為__次,機率為____% 骰子二的出現次數為__次,機率為____% 依此類堆 謝謝 話說… 雖然這裡是「閒 話 家 常 灌 水 版 」但是問program這種東西是不是該去比較專業一點的地方問呢? Delphi K.Top : http://delphi.ktop.com.tw/ Delphi、C/C++、Single chip、Analog/Digital.... etc. 那裡有很多台灣的高手能幫你解答的,而且您也能學會「該如何發問」。 VicLin 2005-07-26, 01:09 PM 既然你說是要交作業 那應該就是在上課中 如果是在上課中 你的課本沒有講到 scanf 的用法 那那本可以丟了 如果以C++入門的書來講 一般沒有scanf是很正常的 因為C++都建議使用cout 和 cin來取代原本的函數 :|||: Picasso 2005-07-27, 01:14 PM 原PO只不過是要問個問題嘛!!怎麼一路看下來有些是冷嘲熱諷的言論?? 如果有人覺的原PO是伸手牌的,大可不理,何必講那些有的沒的!! :mad: |