number = rand() % 9000 + 1000;
Есть 9000 четырехзначных чисел, верно?Начиная с 1000 до 9999. rand()
вернет случайное число от 0 до RAND_MAX
.rand() % 9000
будет от 0 до 8999, а rand() % 9000 + 1000;
будет от 1000 до 9999.В общем, если вы хотите получить случайное число от a до b включительно, формула будет
rand() % (b - a + 1) + a
Также обратите внимание, что srand()
следует вызывать только один раз и перед любым rand()
.
Если вы делаете , рассматриваете числа от 0 до 999 включительно как «четырехзначные числа», просто используйте rand() % 10000
в этом случае.Я не считаю, что они есть, но я покрываю все базы, на всякий случай.
HTH