如果我想随机的数在1--10来选,rand函数怎么写呀
只知rand()%10为10以内,,但不想有0呢?? 问题点数:0、回复次数:7Top
1 楼rainivy(天涯远不远?-----不远。人已在天涯,天涯又怎么会远?)回复于 2005-01-04 18:27:12 得分 0
+ 1不就好了Top
2 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-01-04 18:29:58 得分 0
srand((unsigned )time(NULL));//设置种子;
int n = srand() % 9;
n++;
Top
3 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-01-04 18:30:45 得分 0
srand((unsigned )time(NULL));//设置种子;
int n = rand() % 9;
n++;
上贴写错了,呵呵Top
4 楼sdbus(sdbus)回复于 2005-01-04 18:42:13 得分 0
我也知道加1的,,,本以为会有函数进行处理的,,加1就好像不是原始的随机数了呀!!!!既然这样加1好了!自己的程序处理是为0重新随的!Top
5 楼sdbus(sdbus)回复于 2005-01-04 18:44:22 得分 0
for(int i=0;i<5;i++)
{
srand( (unsigned)time( NULL ) );
int a,b,c,d,e;
while(1)
{
a=rand()%15;
if(a!=0)
break;
}
Analyse(a);
while(1)
{
b=rand()%15;
if(b!=a && b!=0)
break;
}
Analyse(b);
while(1)
{
c=rand()%15;
if(c!=a && c!=b && c!=0)
break;
}
Analyse(c);
while(1)
{
d=rand()%15;
if(d!=a && d!=b && d!=c && d!=0)
break;
}
Analyse(d);
while(1)
{
e=rand()%15;
if(e!=a && e!=b && e!=c && e!=d && e!=0)
break;
}
Analyse(e);
CString str;
str.Format("%d+%d+%d+%d+%d",a,b,c,d,e);
m_random[i]=str;
}
为什么这五次随出来的数都是一样的??Top
6 楼bluestone(kulawa)回复于 2005-01-04 19:15:57 得分 0
rand()%10,这个就能得到随即的、0~9的数值。Top
7 楼ltr()回复于 2005-01-25 11:15:08 得分 0
rand()%10,这个就能得到随即的、0~9的数值。
可以得到随机数,因为随机数本身具有随机性,同时具有规律性,就像没有完全相同的两片叶子,但是其大致形状是相同的。计算机产生的有规律的随机数,规律性就在于只要是相同的种子,就能产生相同的随机数。
只要符合随机性的各项统计要求,就可以认为是随机数,可以用来模拟各种随机性。当然要想每次产生的随机数不同,必须采用不同的随机种子,比如用时间作为种子。Top




