// crt_rand_s.c
// This program illustrates how to generate random
// integer or floating point numbers in a specified range.
// Remembering to define _CRT_RAND_S prior
// to inclusion statement.
#define _CRT_RAND_S
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
int main( void )
{
int i;
unsigned int number;
double max = 100.0;
errno_t err;
// Display 10 random integers in the range [ 1,10 ].
for( i = 0; i < 10;i++ )
{
err = rand_s( &number );
if (err != 0)
{
printf_s("The rand_s function failed!\n");
}
printf_s( " %u\n", (unsigned int) ((double)number /
(double) UINT_MAX * 10.0) + 1);
}
printf_s("\n");
// Display 10 random doubles between 0 and max.
for (i = 0; i < 10;i++ )
{
err = rand_s( &number );
if (err != 0)
{
printf_s("The rand_s function failed!\n");
}
printf_s( " %g\n", (double) number /
(double) UINT_MAX * max );
}
}