广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7417 个阅读者
 
<< 上页  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.016044 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言