C++进阶小程序(投骰子)

来源:互联网 发布:日本动漫 知乎 编辑:程序博客网 时间:2024/05/21 06:34
 

/*
编写一个程序,模拟投两个骰子。
程序用rand函数投第一个骰子,并再次用rand函数投第二个骰子,然后计算两个值的和。
说明:由于每个骰子显示1到6的整数值,因此两个骰子的和为2到12,7最常见,1和12最不常见。
图4.24显示了36种可能的两个骰子的和。
程序将投两个骰子36000次,用单下标数组估算每个和出现的次数,用表格形式打印结果。
并确定和是否合理,即有六种方式投出7,因此有六分之一的可能投出7。
*/

#include<iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>

using namespace std;

int main()
{
 const int arraySize=13;
 int Face ,Sum ,Frequency[ arraySize ] = { 0 };

 srand(time(0));
 
 for(int  roll=1;roll<3600;roll++)
 {
  Sum=1+rand()%6;
  Sum+=1+rand()%6;
        ++Frequency[ Sum];
 }
 cout<<"Face"<<setw(13)<<"Frequency"<<endl;
 
 for(Face=1;Face<13;Face++)
 {
  cout << setw(4) << Face << setw( 13) << Frequency[ Face] << endl;
 }
 if( Frequency[7]>1/7&&Frequency[7]<1/5)
  cout<<"The Result is Resonable!"<<endl;
 else
        cout<<"The Result is Resonable!"<<endl;
 cin>>Face;
  return 0;
}