Вы не можете заполнить массив int
числами с нулевым заполнением. поскольку тип int будет хранить только целые значения, рассмотрим пример ниже:
#include <stdio.h>
int main(){
int a = 0001;
printf("%d\n", a);
return 0;
}
Результатом приведенного выше кода будет:
1
И все. Кстати, если вы хотите иметь числа с нулевым заполнением, вы должны распечатать их в массиве символов и использовать sprintf
вместо printf
, посмотрите на пример ниже:
#include <stdio.h>
//include other necessary libraries.
int main(){
char* randomNumbers[1000];
//while your numbers are at most 4 digit, I will allocate just 4 bytes:
for(int i = 0; i < 1000; i++){
randomNumbers[i] = (char*) calloc(4, sizeof(char));
}
//here we go to answer your question and make some random numbers which are zero-padding:
for(int i = 0; i < 1000; i++){
int a = rand() % 1000;
sprintf(randomNumbers[i], "%03d", a);
}
}
The randomNumbers
array - ваш подходящий массив.