Computer >> Máy Tính >  >> Lập trình >> C ++

Tạo số ngẫu nhiên trong một phạm vi trong C

Ở đây chúng ta sẽ xem cách tạo số ngẫu nhiên trong phạm vi đã cho bằng cách sử dụng C. Để giải quyết vấn đề này, chúng ta sẽ sử dụng hàm srand (). Thời gian hiện tại sẽ được sử dụng để khởi tạo hàm srad ().

Hàm này không thể tạo số ngẫu nhiên trong bất kỳ phạm vi nào, nó có thể tạo ra số từ 0 đến một giá trị nào đó. Vì vậy, đối với nó, chúng ta phải làm theo một thủ thuật. Chúng tôi sẽ tạo số ngẫu nhiên trong khoảng từ 0 đến (trên - dưới + 1), sau đó thêm giới hạn dưới để bù trừ.

Ví dụ

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generate_random(int l, int r, int count) { //this will generate random number in range l and r
   int i;
   for (i = 0; i < count; i++) {
      int rand_num = (rand() % (r - l + 1)) + l;
      printf("%d ", rand_num);
   }
}
main() {
   int lower = 10, upper = 15, count = 15;
   srand(time(0)); //current time as seed of random number generator
   generate_random(lower, upper, count);
   printf("\n");
}

Đầu ra

15 11 13 10 13 10 15 11 14 12 12 13 12 13 14