| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1366 人关注过本帖
标题:[求助]关于rand()函数的问题
只看楼主 加入收藏
疯狂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
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

..好象是我的错..

应该 是 ヤ順祺冄繎ヤ 说的对..

0到 0x7fff 之间..整数

这样..

#include<stdlib.h>
#include <time.h>

main()
{
int i;
randomize();
i=rand()%1000+1;
printf("%d",i);
getch();
}

是随即产生 1~1000 的随即数..

具体的..让我再找找书.!

[此贴子已经被作者于2006-4-5 22:14:44编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-04-05 22:05
本人已死
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2005-9-20
收藏
得分:0 

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>

#define MAX 10
main()
{
int jiajia();
int jianjian();
int chengcheng();
int a,b,c;
char temp; //用来存放输入的选择字符,,,,,,
time_t *tp;
srand(time(tp));

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");
temp=getch(); //这里是必要的.....
if(temp=='a')
jiajia();
if(temp=='b')
jianjian();
if(temp=='c')
chengcheng();
getchar();
}
int jiajia()
{
int jieguo,zanchun,i,j;
i=rand()%MAX; ////////RAND_MAX是预定义的宏.....大小为:0x7FFF,用"/"的话i,j就恒等于0了,so.....要用"%"

j=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()%MAX;
j=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()%MAX;
j=rand()%MAX;
printf("%d*%d=",i,j);
scanf("%d",&zanchun);
jieguo=i*j;
if(zanchun==jieguo)
printf("Excellent!");
else
printf("NO,please try again.");
}

[此贴子已经被作者于2006-4-5 22:39:46编辑过]


爸爸告诉我:女人喜欢有钱的男人;妈妈告诉我:女人喜欢有貌的男人。我翻翻钱包,又照照镜子,然后我哭了
2006-04-05 22:24
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 
你的RAND_MAX未定义

2006-04-05 22:27
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
rand()产生一个随机数(0到 0x7fff 之间)

引用某小弟弟的话

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-05 22:35
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
谢谢以上的各位了
给我点时间!
让我慢慢的消化一下,
没想到会那么复杂啊!
有点晕!!!
想通了立该回帖!

2006-04-05 23:12
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
以下是引用feng1256在2006-4-5 22:35:00的发言:
rand()产生一个随机数(0到 0x7fff 之间)

引用某小弟弟的话

你不会说的是我吧!

2006-04-06 07:48
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
我觉得只要
i=1.0*rand()/RAND_MAX
也是可以的。

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



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

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