有一个十面的骰子,每一面分别为1-10,不断投掷骰子,投10000次,统计所点数和超过100时得到的点数和出现的次数。统计得到超过100的点数和后,所需投掷次数出现的次数。
#include<iostream>
#include<time.h>
#include<stdlib.h>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int sum[200], p, n=0,num=0,N=0,sum1[200];
for (int i = 0; i < 200; i++)
sum[i] = 0;
for (int i = 0; i < 200; i++)
sum1[i] = 0;
while (n !=10000)
{
p = rand() % 10 + 1;
num += p;
switch (num-100)
{
case 1:sum[101]++;break;
case 2:sum[102]++;break;
case 3:sum[103]++;break;
case 4:sum[104]++;break;
case 5:sum[105]++;break;
case 6:sum[106]++;break;
case 7:sum[107]++;break;
case 8:sum[108]++;break;
case 9:sum[109]++;break;
case 10:sum[110]++;break;
}
if (num > 100)
{
num = 0; sum1[N]++; N = 0;
}
n++;
N++;
}
for (int i = 101; i <111; i++)
{
cout << "点数和为" << i << "的有" << sum[i] << "次" << endl;
}
for (int i = 11; i <102; i++)
{
cout << "投掷次数为" << i << "的有" << sum1[i] << "次" << endl;
}
system("pause");
return 0;
}