A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

编写一个掷筛子100次的程序,并打印出各种点数的出现次数

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

9 个回复

倒序浏览
还没人回答怎么就提问结束了。
这题估计是想考下随机数的应用的。可以参考下面的代码
  1.             Random r = new Random();
  2.             Dictionary<int, int> dcount = new Dictionary<int, int>();
  3.             for (int i = 0; i < 100; i++)
  4.             {
  5.                 int c = r.Next(1, 7);
  6.                 if (dcount.Keys.Contains(c) == false)
  7.                     dcount.Add(c, 1);
  8.                 else dcount[c]++;
  9.             }
  10.             foreach (var v in dcount)
  11.                 Console.WriteLine(v.Key + "点出现次数:" + v.Value);
  12.             Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
先new 一个random对象和一个数组,然后for循环输出筛子100次,在for循环内加switch判断,是哪个点数哪个点数的数组位置上的元素加1。for循环完了后输出就可以了。家里的vs坏掉了,不能给你发代码了,按照这个思路应该没问题,有问题你在回。
回复 使用道具 举报
static void Main(string[] args)
        {
            int[] val = { 0, 0, 0, 0, 0, 0 };
            Random rval = new Random();
            for (int i = 1; i <= 100; i++)
            {
                if (rval.Next(1, 7) == 1) val[0] += 1;
                if (rval.Next(1, 7) == 2) val[1] += 1;
                if (rval.Next(1, 7) == 3) val[2] += 1;
                if (rval.Next(1, 7) == 4) val[3] += 1;
                if (rval.Next(1, 7) == 5) val[4] += 1;
                if (rval.Next(1, 7) == 6) val[5] += 1;
            }
            Console.WriteLine("The number 1 occures {0} times. ", val[0]);
            Console.WriteLine("The number 2 occures {0} times. ", val[1]);
            Console.WriteLine("The number 3 occures {0} times. ", val[2]);
            Console.WriteLine("The number 4 occures {0} times. ", val[3]);
            Console.WriteLine("The number 5 occures {0} times. ", val[4]);
            Console.WriteLine("The number 6 occures {0} times. ", val[5]);
            Console.ReadKey();
        }
楼主试试我的代码,可以解决此问题。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
cmcm2014 发表于 2014-3-24 15:25
static void Main(string[] args)
        {
            int[] val = { 0, 0, 0, 0, 0, 0 };

这里用switch 语句可以使代码更便于直观理解些
回复 使用道具 举报
伪善者。 发表于 2014-3-24 15:49
这里用switch 语句可以使代码更便于直观理解些

恩这个不碍事的,if else有它好的地方,switch case也有它有用处的地方,当然此处使用switch case确实是更易理解
回复 使用道具 举报
public static void main(String[] args) {
                int number[] = { 0, 0, 0, 0, 0, 0 };// 用于记录骰子每一个点的次数
                for (int i = 0; i < 100; i++) {
                        int temp = new Random().nextInt(6) + 1;
                        if (temp == 1) {
                                number[0] += 1;
                        } else if (temp == 2) {
                                number[1] += 1;
                        } else if (temp == 3) {
                                number[2] += 1;
                        } else if (temp == 4) {
                                number[3] += 1;
                        } else if (temp == 5) {
                                number[4] += 1;
                        } else if (temp == 6) {
                                number[5] += 1;
                        }
                }
                System.out.println("The number 1 : " + number[0]);
                System.out.println("The number 2 : " + number[1]);
                System.out.println("The number 3 : " + number[2]);
                System.out.println("The number 4 : " + number[3]);
                System.out.println("The number 5 : " + number[4]);
                System.out.println("The number 6 : " + number[5]);
        }
回复 使用道具 举报
mdb 发表于 2014-3-24 15:13
还没人回答怎么就提问结束了。
这题估计是想考下随机数的应用的。可以参考下面的代码
...

他们这样要求的 谢谢你啊
回复 使用道具 举报
static void Main(string[] args)
        {
            int[] arr={0,0,0,0,0,0};
            Random rd = new Random();
            int t = 0;
            for (int i = 0; i < 100; i++)
            {
                t = rd.Next(1, 7);
                arr[t - 1]++;
            }
            for (int i = 0; i < arr.Length; i++)
            {
                Console.WriteLine("{0}出现的次数为{1}",i+1,arr[i]);
            }
            Console.ReadKey();
        }
回复 使用道具 举报
路过看下,我支持9楼的方式,清晰明确
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马