#include<stdlib.h>
#include<stdio.h>
int heads(){
return rand()<RAND_MAX/2;
}
main(int argc,char argv[]){
int i,j,cnt;
int N=atoi(argv[1]),M=atoi(argv[2]);
int f=(int*)malloc((N+1)sizeof(int));
for(j=0;j<=N;j++) f[j]=0;
for(i=0;i<M;i++,f[cnt]++){
for(cnt=0,j=0;j<=N;j++){
if(heads()) cnt++;
}
}
for(j=0;j<=N;j++){
printf("%2d",j);
for(i=0;i<f[j];i+=10) printf("");
printf("\n");
}
}
遇到的问题:在devC++中运行后,无法显示抛硬币后产生的正态分布曲线,但将N和M的值固定为某一数字后就可以
在这个程序中应该如何修改argc和argv的值,以及命令行参数的意义
我的理解是这样,仅供参考:
main函数里面的argc就是参数有几个的意思,argv就是几个参数的内容,如下面的图片里面的 "5"就是argv[1] ,"6”就是argv[2] ,argv[0]是程序名本身。