Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117671
  • 博文数量: 24
  • 博客积分: 1226
  • 博客等级: 中尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-11 20:47
文章分类

全部博文(24)

文章存档

2011年(2)

2010年(4)

2009年(5)

2008年(13)

我的朋友

分类: LINUX

2008-10-16 21:10:50

rand(产生随机数)
相关函数
srand

表头文件
#include

定义函数
int rand(void)

函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。

返回值
返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。
 
srand(设置随机数种子)
相关函数
rand

表头文件
#include

定义函数
void srand (unsigned int seed);

函数说明
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样 


范例
/* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/
#include
#include
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(" %d ",j);
}
}

执行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7
 
———————————————————分割线———————————————————————
 
 
参考rand函数百度测试的第四题c语言解答方法如下#include
#include
#include
#include
int main()
{
  char* str="0123456789";
  int len=strlen(str);
   printf("%d\n",len);
  int count=6;
  int i;
  char strout[6];
  srand((int)time(0));
  for(i=0;i   {
      int temp=(int)(len*(rand()/(RAND_MAX + 1.0)));
      strout[i]=str[temp];
      printf("%c",strout[i]);
   }
  printf("\n");
  for(i=count-1;i>=0;i--)
      printf("%c",strout[i]);
  printf("\n");
  return 0;
}
 
 
阅读(1480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~