c++里 rand怎么用

errorC2501:'srand':missingstorage-classortypespecifiers用VC6.0老是报错如上,代码是:srand((unsign... error C2501: 'srand' : missing storage-class or type specifiers
用VC6.0老是报错如上,代码是:
srand( (unsigned)time( NULL ) );
int select = rand() % 4+1;
头文件里包含了<time.h><stdlib.h>啊...错在哪啊
展开
 我来答
kaixingui2012
推荐于2018-05-10 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:7804万
展开全部

rand()的用法  

  • 使用rand(),srand()函数要包含头文件stdlib.h

  • rand()函数返回一个从0到RAND_MAX的任意整数,RAND_MAX 是一个宏,可以修改,通常应该是0x7fff(32767)。

    • 如果你要产生0~10的10个整数,可以表达为:

    • int N = rand() % 11;

    • 这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样:

    • int N = 1 + rand() % 11;

  • 通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这是有意这样设计的,是为了便于程序的调试。

  • 若要产生每次不同的随机数,可以使用srand( seed )函数进行随机化,随着seed的不同,就能够产生不同的随机数。

  • 使用srand(time(0))来使用当前时间使随机数发生器随机化,这样就可以保证每两次运行时可以得到不同的随机数序列(只要两次运行的间隔超过1秒)。调用time()函数需要包含头文件time.h

参考代码:

zy1404
2014-01-09 · TA获得超过1387个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:545万
展开全部

rand()%3+1,

在使用rand()前,要设置种子

srand(time(NULL)),比如:

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
int i,j;

cout<<"随机10次的结果"<<endl;
for (j=0;j<10;j++)
{
i=rand()%3+1;
cout<<i<<endl;
}
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PIRLA
推荐于2016-03-27 · TA获得超过3284个赞
知道大有可为答主
回答量:1589
采纳率:100%
帮助的人:2708万
展开全部
#include<iostream>
#include<time.h>//或者#include<ctime>
using namespace std;
int main()
{
srand( (unsigned)time( NULL ) );
int select = rand() % 4+1;
cout<<select;
return 0;
}
两种头文件VC++6.0运行没错,你对照一下吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mnhkahn
2009-08-12 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:124万
展开全部
rand()每次的数都一样的
用srand()要提供一个seed,这样会根据这个seed产生不同的随机数,一楼说的很清楚了
还可以使用randint.h,使用RandomInt Nbr(x,y)命令,xy为要求的范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwthead
2009-08-11 · TA获得超过2309个赞
知道小有建树答主
回答量:1478
采纳率:0%
帮助的人:2039万
展开全部
#include<ctime>

取0-9;
int n=rand()%10;
避免每次运行所取的随机数都一样
程序开始可以加入 srand(unsigned(time(NULL)));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式