C练习——模拟投掷6000次骰子

题目:

模拟骰子投6000次,并计算每一面出现的概率

解析:

6000次,首先想到用数组记录六个面各出现次数

其次,使用随机数(1~6的数)模拟骰子

然后统计1~6每个数出现的几次,最后除以6000,输出即可

逻辑:

先循环随机数模拟投掷,将结果记录于数组

再循环遍历数组计算概率

参考代码:

// 模拟骰子投6000次,并计算每一面出现的概率

#include 
#include 
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;
}

运行结果:

C练习——模拟投掷6000次骰子_第1张图片

你可能感兴趣的:(C练习题,c语言)