基本上我必须编写一个程序来生成随机数来模拟一对骰子的滚动。这个程序应该在多个文件中构建。主函数应该在一个文件中,其他函数应该在第二个源文件中,它们的原型应该在头文件中。首先,我编写了一个简短的函数,它返回一个介于 1 和 6 之间的随机值来模拟单个 6 面骰子的滚动。其次,我编写了一个函数,通过调用该函数两次来假装掷出一对骰子。我的程序首先询问用户应该卷多少卷。然后我编写了一个函数来模拟掷骰子多次,准确计算值 2、3、4、5、6、7、8、9、10、11、12 的次数(每个数字是一对骰子的总和)出现在一个数组中。
2 3 4 5 6 7 8 9 10 11 12
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
接下来,为了查看随机数生成器的性能如何,我编写了一个函数来计算滚动的平均值。将此与 7 的理想平均值进行比较。此外,打印出一个小表格,显示程序制作的每一卷的计数,基于上述频率的理想计数,给定总卷数,以及这些值之间的差异列。到目前为止,这是我不完整的代码:“Compiler Visual Studio 2010”
int rolling(){ //Function that returns a random value between 1 and 6
rand(unsigned(time(NULL)));
int dice = 1 + (rand() %6);
return dice;
}
int roll_dice(int num1,int num2){ //it calls 'rolling function' twice
int result1,result2;
num1 = rolling();
num2 = rolling();
result1 = num1;
result2 = num2;
return result1,result2;
}
int main(void){
int times,i,sum,n1,n2;
int c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11;//counters for each sum
printf("Please enter how many times you want to roll the dice.\n")
scanf_s("%i",×);
我假装使用计数器来计算每个总和并将数字(计数)存储在一个数组中。我知道我需要一个循环(for)和一些条件语句(if),但是我的主要问题是从 roll_dice 获取值并将它们存储在 n1 和 n2 中,这样我就可以对它们求和并将总和存储在“sum”中。