输出素数或距离最近的素数及距离,能不能帮我看看哪里有问题

#include
using namespace std;
int a[10001];
bool is(int n) {
if (n == 1) return false;
for (int i = 2; i < n; i++) {
if (n % i == 0)return false;
}return true;
}
int main() {
int n;
int c ;
int d;
int e ;
int f;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];

}
for (int i = 0; i < n; i++) {
    if (a[i] > 1000000 || a[i] < 1)cout << "INCORRECT INPUT!" << endl;
    if (0 < a[i] < 1000000) {
        if (is(a[i]) == 1)cout << a[i] << " " << "0" << endl;
        if (is(a[i]) == 0) {
            for (int j = 1; ; j++) {
                c = j;
                d = a[i] - j;
                if (is(d) == 1)break;



            }
            for (int j = 1; ; j++) {
                e = j;
                f = a[i] + j;
                if (is(f) == 1)break;

            }



            if (e < c)cout << f << " " << e << endl;
            if (e >= c)cout << d << " " << c << endl;
        }
    }
}
return 0;

}