Generando un número aleatorio en un rango en C

Cómo generar un número aleatorio en un rango dado en C. Ejemplos:

Input : Lower = 50,
        Upper = 100,
        Count of random Number = 5 
Output : 91 34 21 88 29 
Explanation: lower is the lower limit of the 
range and upper is the upper limit of the range.
Output contains 5 random numbers in given range.

Como C no tiene una función incorporada para generar un número en el rango, pero tiene una función aleatoria que genera un número aleatorio de 0 a RAND_MAX. Con la ayuda de rand(), se puede generar un número dentro del rango como num = (rand() % (superior – inferior + 1)) + inferior 

C

// C program for generating a
// random number in a given range.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
// Generates and prints 'count' random
// numbers in range [lower, upper].
void printRandoms(int lower, int upper,
                            int count)
{
    int i;
    for (i = 0; i < count; i++) {
        int num = (rand() %
        (upper - lower + 1)) + lower;
        printf("%d ", num);
    }
}
 
// Driver code
int main()
{
    int lower = 5, upper = 7, count = 1;
 
    // Use current time as
    // seed for random generator
    srand(time(0));
 
    printRandoms(lower, upper, count);
 
    return 0;
}
Producción:

7

Complejidad de tiempo : O(N) donde N es el conteo de números aleatorios que se generarán

Espacio Auxiliar: O(1)

Nota: la salida generada en cada ejecución puede ser diferente porque el número se genera aleatoriamente.

Publicación traducida automáticamente

Artículo escrito por UPENDRA BARTWAL, y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *