I am confused searching for all prime numbers between 1 and 1000. I am trying to do this and print them 13 per line. My code works for the first 5 numbers and then just ends. Here is what I have so far and my current output is 12357. Any ideas of what's wrong? Thanks in advance!
void removenonprimes(int d, int ary[]) {
  int i;
  int h = 0;
  for (i = 0; i < sizeof(ary); i++) {
    h = ary[i];
    if (h % d == 0 || h == d) {
      ary[i] = 0;
    }
  }
}
void prnt(int ary[]) {
  int i;
  int holder;
  int count = 0;
  for (i = 0; i < sizeof(ary); i++) {
    if (i > 1) {
      removenonprimes(i, ary);
      holder = ary[i];
      //case for when number is not 13th in its line
      if (holder != 0 && count != 13) {
        printf("%d", holder);
        count++;
      }
      //case for when number is 13th in its line
      else if (holder != 0 && count == 13) {
        printf("%d\n", holder);
        count = 0;
      }
    } else {
      printf("  %d", ary[i]);
    }
  }
}
 
     
     
    