进行m局抛硬币实验,每局抛n次,统计出现1-n次正面个出现的次数,以图像方式显示:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int heads()
{
return (rand()-1)%2;
}
int main()
{
int n = 0, m = 0, i = 0, j = 0;
scanf("%d%d",&m,&n);//运行m局,每局n次
int cnt = 0;
int *f = malloc(sizeof(int) * (n + 1));
memset(f,0,sizeof(f));
for (i = 0; i < m; i++)
{
for (cnt = 0, j = 0; j <= n; j++)//计算每局正面次数为cnt
{
if (heads())
{
cnt ++;
}
}
f[cnt] ++;//将该局正面次数对应数加一
}
for (i = 0; i <= n; i++)
{
printf("%2d ",i);
for (j = 0; j < f[i]; j+=10)
{
printf("*");
}
printf("\n");
}
return 0;
}
下面是运行结果