首页 > 代码库 > 扔骰子问题的两种方法

扔骰子问题的两种方法

关于扔骰子的两个方法,刚和一个同学聊起来了,

我就做出来了两个方法,都是很简单的!

在这记录一下,

 

第一种方法,每次都输入一次:

#include <stdio.h>

#define N 5

 

int main() {

    

        //定义一个变量来存放骰子数

        int num;

        //定义出现的数字变量

        int count_1=0,  count_2=0, count_3=0, count_4=0, count_5=0, count_6=0;

        

        for (int i=1; i<=N; i++) {

            printf("请输入第%d次扔骰子出现的数字:\n",i);

            scanf("%d",&num);

            if (num==1) {

                count_1++;

            }else if (num==2){

                

                count_2++;

            }else if(num==3){

                count_3++;

                

            }else if(num==4){

                

                count_4++;

            }else if(num==5){

                count_5++;

            }else if(num==6){

                

                count_6++;

            }//此处因为自己一次一次输入的,所以不需要判断不是1-6之外的了,

            

        }

        printf("1出现的次数为%d\n2出现的次数为%d\n3出现的次数为%d\n4出现的次数为%d\n5出现的次数为%d\n6出现的次数为%d\n",count_1,count_2,count_3,count_4,count_5,count_6);

    return 0;

}

 

 

第二种方法,用随机数:

#include <stdio.h>

#include <stdlib.h>

#define N 100

 

int main() {

    

 

        int count_1=0,  count_2=0, count_3=0, count_4=0, count_5=0, count_6=0;

        

        for (int i=1; i<=N; i++) {

            

           int num= arc4random_uniform(6)+1;        //(N)随机出来的是0~N-1,

 

            if (num==1) {

                count_1++;

            }else if (num==2){

                

                 count_2++;

            }else if(num==3){

                count_3++;

                

            }else if(num==4){

                    

                count_4++;

            }else if(num==5){

                count_5++;

            }else if(num==6){

                    

                count_6++;

            }else{

                i--;

                continue;

            }

     

        }

        printf("1出现的次数为%d\n2出现的次数为%d\n3出现的次数为%d\n4出现的次数为%d\n5出现的次数为%d\n6出现的次数为%d\n",count_1,count_2,count_3,count_4,count_5,count_6);

 

    return 0;

}

 

扔骰子问题的两种方法