C语言,编程模拟骰子的一万次投掷,统计并输出骰子的六个面各自出现的概率。学的数组

2025-03-05 03:10:16
推荐回答(2个)
回答1:

#include

#include

#include

int main()

{int i,x,a[6]={0};

 srand((unsigned int)time(NULL));

 for(i=0;i<10000;i++)

{

x=rand()%6;

     a[x]++; 

 }

 printf("投掷10000次\n");

 for(i=0;i<6;i++)

printf("%d点出现:%d\n",i+1,a[i]);

return 0;

}

回答2:

#include 
#include
#include 

 main()
{
    int  face;   // 储存每次色子的点数
int roll;  //投掷色子的次数(循环变量)
int frequency[7] = {0};  //记录色子每个点数出现的次数

    srand(time (NULL));  //用系统时间来初始化系统随机数的种子值

     //用循环产生10000次随机数,并记录每个点数出现的次数
    for (roll=1; roll<=10000; roll++)
    { 
        face = rand()%6 + 1; 
        frequency[face]++;
    }
     
    printf("%4s%17s\n", "Face", "Frequency");
     
//输出每个点数出现的次数
    for (face=1; face<=6; face++)
    {
        printf("%4d%17d\n", face, frequency[face]);
    }

system("pause");
 }