QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1393|回复: 4
打印 上一主题 下一主题

【C讨论组】程序不能运行,求救

[复制链接]

522

主题

10

听众

4072

积分

自我介绍
学习中!

优秀斑竹奖 元老勋章 新人进步奖 最具活力勋章

群组Matlab讨论组

群组C 语言讨论组

群组每天多学一点点

群组数学趣味、游戏、IQ等

群组南京邮电大学数模协会

跳转到指定楼层
1#
发表于 2011-4-7 22:42 |只看该作者 |倒序浏览
本帖最后由 sea_star666 于 2011-4-7 23:02 编辑

下面程序有个错误,谁能指点一下?
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int heads()
  4. {
  5.         return rand()<RAND_MAX/2;
  6. }


  7. int main(int argc,char *argv[])//抛硬币模拟正态分布图形
  8. {
  9.         int i,j,cnt;
  10.         int N=atoi(argv[1]),M=atoi(argv[2]);//这个地方有错
  11.         int *f=malloc((N+1)*sizeof(int));

  12.         for(j=0;j<=N;j++)
  13.                 f[j]=0;
  14.         for(i=0;i<M;i++,f[cnt]++)
  15.                 for(cnt=0,j=0;j<=N;j++)
  16.                         if(heads())
  17.                                 cnt++;
  18.         for(j=0;j<=N;j++)
  19.         {
  20.                 printf("%2d ",j);
  21.                 for(i=0;i<f[j];i++)
  22.                         printf("*");
  23.                 printf("\n");
  24.         }


  25. return 0;
  26. }
复制代码



转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持1 反对反对0 微信微信
第一次用linux登录madio,纪念一下

522

主题

10

听众

4072

积分

自我介绍
学习中!

优秀斑竹奖 元老勋章 新人进步奖 最具活力勋章

群组Matlab讨论组

群组C 语言讨论组

群组每天多学一点点

群组数学趣味、游戏、IQ等

群组南京邮电大学数模协会

2#
发表于 2011-4-7 22:45 |只看该作者
回复

使用道具 举报

madio        

3万

主题

1310

听众

5万

积分

自我介绍
数学中国站长

社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

群组数学建模培训课堂1

群组数学中国美赛辅助报名

群组Matlab讨论组

群组2013认证赛A题讨论群组

群组2013认证赛C题讨论群组

3#
发表于 2011-4-8 08:12 |只看该作者
问题出在int *f=malloc((N+1)*sizeof(int));这一句上,因为malloc返回的是void *类型的指针,想要使用必须要强制类型转换,改成int *f=(int *)malloc((N+1)*sizeof(int));或者换用new,new返回的是具体类型的指针。
数学建模社会化
回复

使用道具 举报

21

主题

7

听众

3435

积分

新人进步奖 优秀斑竹奖

群组Matlab讨论组

群组小草的客厅

群组数学趣味、游戏、IQ等

群组C 语言讨论组

群组我行我数

4#
发表于 2011-4-8 13:59 |只看该作者
回复

使用道具 举报

522

主题

10

听众

4072

积分

自我介绍
学习中!

优秀斑竹奖 元老勋章 新人进步奖 最具活力勋章

群组Matlab讨论组

群组C 语言讨论组

群组每天多学一点点

群组数学趣味、游戏、IQ等

群组南京邮电大学数模协会

5#
发表于 2011-4-9 00:46 |只看该作者
本帖最后由 sea_star666 于 2011-4-9 00:48 编辑

回复 madio 的帖子

madio 不行啊,程序不能运行,内存不能读啊
  1. int N=atoi(argv[1]),M=atoi(argv[2]);       / /这个地方有错
  2.         //int N=30,M=1000;                                   //如果换成这个就是对的
复制代码




atoi没怎么用过,看了MSDN也没明白哪里出错

昨天那个程序其他地方有点错误今天改了
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int heads()
  4. {
  5.         return rand()<RAND_MAX/2;
  6. }


  7. int main(int argc,char *argv[])//抛硬币模拟正态分布图形
  8. {
  9.         int i,j,cnt;
  10.         int N=atoi(argv[1]),M=atoi(argv[2]);               //这个地方有错
  11.         //int N=30,M=1000;                                  //如果换成这个就是对的
  12.         int *f=(int *)malloc((N+1)*sizeof(int));

  13.         for(j=0;j<=N;j++)
  14.                 f[j]=0;
  15.         for(i=0;i<M;i++,f[cnt]++)
  16.                 for(cnt=0,j=0;j<=N;j++)
  17.                         if(heads())
  18.                                 cnt++;
  19.         for(j=0;j<=N;j++)
  20.         {
  21.                 printf("%2d ",j);
  22.                 for(i=0;i<f[j];i+=10)
  23.                         printf("*");
  24.                 printf("\n");
  25.         }


  26. return 0;
  27. }
复制代码











第一次用linux登录madio,纪念一下
回复

使用道具 举报

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-6-7 05:06 , Processed in 0.571413 second(s), 54 queries .

回顶部