明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1562|回复: 3

rand()函数要怎样写

[复制链接]
发表于 2005-7-29 15:40:00 | 显示全部楼层 |阅读模式
请问,如果我要写一个带参数的随机函数如: random(10) 则返回从0 - 10 之间的随机数,请问要怎样写呢,谢谢
 楼主| 发表于 2005-7-29 18:08:00 | 显示全部楼层
是没人知道吗,还是各位大虾不屑指教?
发表于 2005-7-30 16:41:00 | 显示全部楼层

The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the ivt:vccore/F3F/F43/D4D/S4CF68.HTM" target="_blank" >srand function to seed the pseudorandom-number generator before calling rand.

Example


/* RAND.C: This program seeds the random-number generator
 * with the time, then displays 10 random integers.
 */

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

void main( void )
{
   int i;

   /* Seed the random-number generator with current time so that
    * the numbers will be different every time we run.
    */
   srand( (unsigned)time( NULL ) );

   /* Display 10 numbers. */
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );
}

Output


6929
    8026
   21987
   30734
   20587
    6699
   22034
   25051
    7988
   10104
发表于 2005-7-31 12:08:00 | 显示全部楼层

函数定义

int randBetween(int numL, int numH)
{
 int a;
 double b;
 int c;

 if (numL > numH) //交换
 {
  int tmp;
  tmp = numH;
  numH = numL;
  numL = tmp;
 }

 do
 {
  a = rand();  //产生0到RAND_MAX之间的随机数
  b = a / sqrt(a + 1);
  c = (int)b;
  
  if (numL <= c && c <= numH)
  {
   return c;
  }
  
 } while(1);
}

函数调用

void Hello()

{

 int nRan = randBetween(10, 20);
 ads_printf("\n 随机数= %d", nRan);

}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 18:27 , Processed in 0.164245 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表