题目:
模拟骰子投6000次,并计算每一面出现的概率
解析:
6000次,首先想到用数组记录六个面各出现次数
其次,使用随机数(1~6的数)模拟骰子
然后统计1~6每个数出现的几次,最后除以6000,输出即可
逻辑:
先循环随机数模拟投掷,将结果记录于数组
再循环遍历数组计算概率
参考代码:
// 模拟骰子投6000次,并计算每一面出现的概率#include <stdio.h>
#include <time.h>
int main()
{int arr[6] = { 0 };int start = 1;int end = 6000;int face = 0;srand((unsigned int)time(NULL));for (start = 1; start <= end; start++) // 模拟掷骰子6000次{face = rand() % 6 + 1;arr[face - 1] += 1; // 统计六面出现次数}int i = 0;double frequency = 0;for (i = 0; i < 6; i++){frequency = arr[i] / 6000.0000 * 100;printf("点数%d出现概率:%.2f%%\n",i+1,frequency);}return 0;
}
运行结果: