为什么系统判断没有通过啊求各位看看错哪了?

为什么系统判断没有通过啊??求各位看看哪里错了??#includestdio.hint main(){int m,n,i,a[100],x0,y0,

为什么系统判断没有通过啊??求各位看看哪里错了??
为什么系统判断没有通过啊求各位看看错哪了?#include<stdio.h>
int main()
{
int m,n,i,a[100],x=0,y=0,k,s;
while((scanf("%d %d",&m,&n))!=EOF)

if(m>n)  {s=m;m=n;n=s;}
k=n-m;
for(i=0; i<=k; i++)
{
a[i]=m;
    m++;
}
for(i=0; i<=k; i++)
{
if(a[i]%2==0) x=x+a[i]*a[i];
if(a[i]%2!=0) y=y+a[i]*a[i]*a[i];
}
printf("%d %d\n",x,y);
x=0;
y=0;
}
return 0;
}
[解决办法]
为什么系统判断没有通过啊求各位看看错哪了?也看不出什么不对,试一试无符号数吧
[解决办法]
我改了下:
1. 当输入-1的时候结束
2. 最后统一打印结果

#include<stdio.h>
int main()
{
int m,n,i,a[100],x=0,y=0,k,s;
int b[100], bi=0;
while (true)
{
scanf("%d", &m);
if (m == -1)
{
break;
}
scanf("%d", &n);
if (n == -1)
{
break;
}

if(m>n)  {s=m;m=n;n=s;}
k=n-m;
for(i=0; i<=k; i++)
{
a[i]=m;
m++;
}
for(i=0; i<=k; i++)
{
if(a[i]%2==0) x=x+a[i]*a[i];
if(a[i]%2!=0) y=y+a[i]*a[i]*a[i];
}
//printf("%d %d\n",x,y);
b[bi++] = x;
b[bi++] = y;
x=0;
y=0;
}


for (int ii=0; ii<bi; )
{
printf("%d %d\n", b[ii], b[ii+1]);
ii += 2;
}
return 0;
}