廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 7685 個閱讀者
 
<< 上頁  1   2  >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

那我這樣打可以嗎?
複製程式
#include <stdlib.h>
#include <time.h>
#define myrandom() srand((unsigned)time(NULL))
#define SIZE 12

int main(void)
{
    int dice[SIZE]={0};
    int i,go=100,point;
    myrandom();
    for(i=0;i<go;i++)
    {
       point=rand()%11+2;
       dice[point-1]++;
    } 
    for(i=1;i<SIZE;i++)
      printf("點數%d出現%d次\n",i+1,dice[i]);
    system("pause");
    return 0;
    }    


獻花 x0 回到頂端 [10 樓] From:歐洲 | Posted:2007-05-28 19:11 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

還有另一種方法,以下我打的這個也可以嗎?
各位大大覺得哪一種方法比較符合題目的答案?(還是兩種都可以)
複製程式
#include <stdlib.h>
#include <time.h>
#define myrandom() srand((unsigned)time(NULL))
#define SIZE 12

int main(void)
{
    int dice[SIZE]={0};
    int i,go=100,point1,point2;
    myrandom();
    for(i=0;i<go;i++)
    {
       point1=rand()%6+1;
       point2=rand()%6+1;
       dice[point1+point2-1]++;
    } 
    for(i=1;i<SIZE;i++)
      printf("點數%d出現%d次\n",i+1,dice[i]);
    system("pause");
    return 0;
    }  


獻花 x0 回到頂端 [11 樓] From:歐洲 | Posted:2007-05-28 19:20 |
GNUGCC
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

第 2 種答案比較適合題目 2~12 因為 2 個骰子最少都有 2 點而且最大在 12 點,
不過可能不適合 1~12, 那第 1 種的話答案不適合題目不過應該可以產生正確答案...


獻花 x0 回到頂端 [12 樓] From:臺灣中華HiNet | Posted:2007-05-28 21:55 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

關於第二個答案,我幫你修正一些地方....
複製程式
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define myrandom() srand((unsigned)time(NULL))
#define MAX 12
#define MIN 2
/*SIZE 跟你產生的陣列大小有關,要看有幾個數,因為頭尾都算所以相減後要加一*/
#define SIZE (MAX-MIN+1)  

int main(void)
{
  int dice[SIZE]={0};
  int i,go=100,point1,point2;
  myrandom();
  for(i=0;i<go;i++)
  {
    point1=rand()%6+1;
    point2=rand()%6+1;
    dice[point1+point2-2]++;
   /*
    //其實如果自己看的懂的話這裡可以改成這樣
   point1=rand()%6;
   point2=rand()%6;
   dice[point1+point2]++;
   */
  } 
  for(i=0;i<SIZE;i++)
    printf("點數%d出現%d次\n",i+MIN,dice[i]);
  system("pause");
  return 0;
} 

其實我該怎麼說呢?...第二個答案產生的結果會與第一個不太一樣,你實測後應該就會發現了,不過要測試大量的比較感覺的出來...如果測試夠多第一個答案2~12很平均,第二個的話7會出現最多次,其次是6跟8,再來是5跟9依此類推...


獻花 x1 回到頂端 [13 樓] From:臺灣永大數位動力公司 | Posted:2007-05-29 08:37 |
karen7710
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x9
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

謝謝大大幫我做修正,也感謝其他大大的回答^^ 表情


獻花 x0 回到頂端 [14 樓] From:歐洲 | Posted:2007-05-29 21:08 |

<< 上頁  1   2  >>(共 2 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.069123 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言