| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1375 人关注过本帖
标题:[求助]关于rand()函数的问题
取消只看楼主 加入收藏
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:7 
[求助]关于rand()函数的问题
#include<stdlib.h>
#define MAX 10
main()
{
int jiajia();
int jianjian();
int chengcheng();
int a,b,c;
printf("ru gou ni xing lian xi jia qing shu ru a\nru guo ni xiang lian xi jian qing shu ru b\nru guo ni xing lian xi cheng qing shu ru c\n");
getch();
if(getch()=='a')
jiajia();
if(getch()=='b')
jianjian();
if(getch()=='c')
chengcheng();
getch();
}
int jiajia()
{
int jieguo,zanchun,i,j;
i=rand()/RAND_MAX;
j=rand()/RAND_MAX;
printf("%d+%d=",i,j);
scanf("%d",&zanchun);
jieguo=i+j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}
int jianjian()
{
int jieguo,zanchun,i,j;
i=rand()/RAND_MAX;
j=rand()/RAND_MAX;
printf("%d-%d=",i,j);
scanf("%d",&zanchun);
jieguo=i-j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}
int chengcheng()
{
int jieguo,zanchun,i,j;
i=rand()/RAND_MAX;
j=rand()/RAND_MAX;
printf("%d*%d=",i,j);
scanf("%d",&zanchun);
jieguo=i*j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}

这是个在本论坛上看到的帖子上的一个题目,因为我的c不好.其中的很多功能都不能实现,但是这个和序我觉得能基本上满足他的要求,可是在运行的时候总是0+0=
我想是因为rand()函数使用不正确的原因吧!]
请各位教教我!!!
谢谢了!!
因为我只有一本c语言课本,这个课本上的函数库里面没有这个函数,请各位在解决这个问题的时候给我顺便讲讲这个rand()怎么用!!!
谢谢了!!!
搜索更多相关主题的帖子: rand 函数 
2006-04-05 17:25
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
请问一下怎么能够定义RAND-MAX的最大值啊
而且上面的程序无论怎么样都只是i和j的值是0!
谢谢了!

2006-04-05 17:33
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 

运行的时候
i和j的值都是0
不能随机的取数!


2006-04-05 18:07
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
我又运行了一下
果然是RAND_MAX的错啊!
把上面程序中的/RAND_MAX去掉就可以得到随机取的数了!
谢谢了

2006-04-05 18:12
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 

继续求助啊!]

谁可以告诉我怎样能规定rand()的最大数!!!


2006-04-05 18:18
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
不会吧?
有没有可以告诉 我这个函数的用法啊
快啊
最好是给举个例子
谢了!!

2006-04-05 21:14
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 

谢谢楼上的仁兄

可是我试过了;rand()函数不是返回一个float型的数据吧

我是这样试验的:
#include<stdlib.h>

void main()
{
float i;
i=rand();
printf("%f",i);
getch();
}
先把i定义成int型,后又定义成float型,看看i 的输出结果,可是无论怎样都是只输出346,即为int型时输出346,为float型时输出346.0000,而不是产生一个随机的数.
请问这是为什么啊?

谢了!!!


2006-04-05 21:44
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
谢谢以上的各位了
给我点时间!
让我慢慢的消化一下,
没想到会那么复杂啊!
有点晕!!!
想通了立该回帖!

2006-04-05 23:12
快速回复:[求助]关于rand()函数的问题
数据加载中...
 
   



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

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