为社么while(scanf(“%d”,&a)!= EOF);后输出不了结果啊

学校里的题要求多组(未知多少组)的数据。
为社么while(scanf(“%d”,&a)!= EOF);后输出不了结果啊

#include
void sortBubble(int a[],int n);

int main()
{
    int k,n;
    
    while(scanf("%d%d",&k,&n)!=EOF);
    {
        const int N=n;
        const int K=k;
        int a[N],b[N],c[N];
        int i=0;
        int m;
        for (;iscanf("%d",&a[i]);
            b[i]=a[i];
            c[i]=a[i];
        }
        if (k%2==0){
            printf("ERROR\n");
        }else{
            for (m=0;m1;m++){
                sortBubble(b+m,K);
                a[m+k/2]=b[m+k/2];
                for (i=0;ifor (i=0;iprintf("%d ",a[i]);
            }
        }
    }
    return 0;
}
void sortBubble(int a[],int n)
{
    int i,b,c,N;
    for (i=1;ifor (N=0;N<=n-1-i;N++){
            if (a[N]>a[N+1]){    
                b=a[N];
                a[N]=a[N+1];
                a[N+1]=b;}
        }
    }
}

输入完成后,可用Ctrl+z结束输入。