| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 823 人关注过本帖
标题:程序:投硬币的模拟/问题:如何让程序用户自行定义数组长度
只看楼主 加入收藏
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:1 
程序:投硬币的模拟/问题:如何让程序用户自行定义数组长度
程序代码:
#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,则使用上面语句,能说说为什么这样写吗。
搜索更多相关主题的帖子: 如何 用户 
2017-03-26 22:23
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:20 
N=atoi(argv[1])这句将用户输入的字符转换成数字了,该数字代表了次数——从下面的循环和前面的malloc看来,该数字加1才是次数。
2017-03-26 22:59
快速回复:程序:投硬币的模拟/问题:如何让程序用户自行定义数组长度
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021689 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved