rand - gives a random number
Name
rand - gives a random number
Syntax
rand [[low] high]
rand -h
Description
Outputs a random
number between low and high (inclusive). If low is
omitted, 0 is assumed. If both
omitted, 0 and RAND_MAX is used.
Example
$ rand 10 20
18
See Also
rand(3)
Environment
PATH=$PATH:/home/joppa/horton/bin/{HPPA,RISC}
MANPATH=$MANPATH:/home/joppa/horton/man
Author
David Horton - CiTR
Copyright
Centre for Information Technology
Research, 1994
/**************************************************************************
*
* COPYRIGHT (C) Centre for Information Technology Research, 1994
*
* Project: Internal
*
* File: rand.c
*$Source$
*
* Author: David Horton
*
* Reference: Refer to man (1) rand
*
* Description: output random numbers on stdout
*
* History:
*$Log$
*
*************************************************************************/
static char rcs[] = "@(#)$RCSfile$ $Revision$";
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
usage(char *n) {
fprintf(stderr,"Usage: %s [[low] high]\n", n);
exit (1);
}
main (int argc, char *argv[]) {
int
low = 0;
int
high = RAND_MAX;
int
v;
int
arg;
for (arg = 1; arg < argc;
arg++)
if (strcmp(argv[arg], "-h") == 0) {
usage(argv[0]);
}
v = getpid();
srand(v);
v = rand();
switch(argc) {
case 1: /* no args */
break;
case 2: /* just upper */
high = atoi(argv[1])+1;
v %= high;
break;
case 3: /* low and high */
low = atoi(argv[1]);
high = atoi(argv[2]);
v = (v % (high-low+1)) + low;
break;
default:
usage(argv[0]);
break;
}
printf("%d\n", v);
exit (0);
}