十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
VC中使用srand()来初始化为随机数生成器。
创新互联建站主要从事做网站、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务清镇,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
#includestdlib.h
void main()
{
int i;
randomize();
printf("Ten random numbers from 0 to 99\n\n");
for(i=0;i10;i++)
printf("%d\n",rand()%100);
}
注:可以在TC2.0中运行通过,在VC6.0不能运行。
[以上摘自百度百科]
所以你应该使用srand()来作为随机初始化。
如果一定要用的话,你就只能换编译器。
#includecstdio
#includecstdlib
#includectime
int a[110][110];
int main(){
//time(0)返回的是一个和系统时间有关的值,将其作为随机种子可以使得每次随机种子的值不一样,也就在后面的rand()中不会输出同样的值,达到了初始化随机的作用。
srand(time(0));
int n=5,m=6,mod=100;
for(int i=1;i=n;i++)
for(int j=1;j=m;j++)
a[i][j]=rand()%mod+1;
for(int i=1;i=n;i++){
for(int j=1;j=m;j++)
printf("%d ",a[i][j]);
putchar('\n');
}
return 0;
}
看代码:
#includestdio.h
#includestdlib.h
#includetime.h
#define N 9
void main()
{
int i;
int a[N];
srand(time(0));//以时间为种子,每次生成不同的数
for(i=0;iN;i++)
{
//生成[5,10]之间的整数
a[i]=rand()%6+5;//rand()生成数的范围在[a,b)写成:a[i]=a+rand()%(b-a);
}
for(i=0;iN;i++)
printf("%d ",a[i]);
puts("");
}
这里注意一下rand()需要生成数据的范围公式,即:
范围在[a,b)写成:a[i]=a+rand()%(b-a)
#include "stdio.h"
#include stdlib.h
#include time.h
int suiji(int *s,int d)
{
int i;
for(i=0;i7;i++)
s[i] = ((rand() % d) + 1);
return 0;
}
void main()
{
int c[7]={0};
srand((unsigned)time(NULL));
suiji(c,100);
int i;
for(i=0;i7;i++)
printf("%d ",c[i]);
}
使用rand()函数可以生成一个伪随机数,函数返回值就是生成的随机数,可以直接赋值给变量。
#includestdio.h
#includestdlib.h //准备使用随机生成函数
#includetime.h //为了给随机函数指定每次不同的种子值,准备使用时间函数
#define N 100
void main() { int a[N],i;
srand((unsigned int)time(NULL)); //取当前时间当随机数种子
for ( i=0;iN;i++ ) a[i]=rand()%100+1; //生成随机数范围在[1,100]区间
for ( i=0;iN;i++ ) printf("%d ",a[i]); printf("\n");
}
rand()函数生成随机数区间为[0,65535]
如果要生成[a,b]之间的随机数:rand()%(b-a+1)+a
rand()%100生成随机数范围[0,99]
rand()%100+1生成[1,100]
编程时有时需要随机输入一些数,这是调用随机函数可以完成此相命令.
# include “stdio.h”
# include “stdlib.h”
# include “time.h” /*需引用的头文件*/
srand((unsigned)time(NULL)); /*随机种子*/
n=rand()%(Y-X+1)+X; /*n为X~Y之间的随机数*/
int rand(void)
函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。
C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。
void srand( unsigned int seed )
改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。
基于毫秒级随机数产生方法:
#includewindows.h
种子设为:srand(unsigned int seed); /*这个作用是在让每次产生随机数不会是以样的*/
srand(GetTickCount());
这样可以
srand((unsigned)time(NULL)); /*随机种子*/
n=rand()%(2)+1; /*n为X~Y之间的随机数*/