I don't get how to fix this code so that it works:

```
    int Numbers_Given[97];
    int n;

    for (n = 3; n <= 100; ++n) {
       Numbers_Given[n - 3] = n;
       // printf("%d ", Numbers_Given[n - 3]);
    }

    int i;

    for (n = 0; n < 97; n++) {
        for (i = 2; i < Numbers_Given[i - 2]; i++) {
            if (Numbers_Given[i - 2] % i == 0)
                break;
            else (printf("%d ", Numbers_Given[i - 2]));
        }
    }
    return 0;
}

```

It seems like it's just not comprehending the `%`. What's going on? It prints out the original array from `3` to `100`, over and over again. Prime numbers are not printed out.