程序:投硬币的模拟/问题:如何让程序用户自行定义数组长度
程序代码:#include<stdio.h>
#include<stdlib.h>
int head()
{ return rand()<RAND_MAX/2;}
main(int argc, char *argv[])
{
int i,j,cnt;
int N=atoi(argv[1]),M=atoi(argv[2]);//一次实验N为投硬币次数,M为试验次数
int *f=malloc((N+1)*sizeof(int));
for(j=0;j<=N;j++) f[j]=0;
for(i;i<M;i++,f[cnt]++)
if(head()) cnt++;
for(j=0;j<=N;j++)
{ printf("%2d ",j);
for(i=0;i<f[j];i+=10) printf("*");
printf("\n");
}
}如果要使用数组,则必须实现知道数组长度,为了用户程序输入数组长度N,则使用上面语句,能说说为什么这样写吗。







