运行时runtime error 不清楚哪里错了 求指点 oj上的

#include
int main()
{
int n,j=0,i,s[100];
scanf("%d",&n);
while (n!=0)
{
int a[100];
static int k=0;
s[k]=0;
for (i=0;i scanf("%d",&a[i]);
for (i=n-1;i>0;i--)
{
if (a[i]+a[i-1]>0||a[i]+a[i-1]==0)
s[k]=s[k]+a[i];
}
if (a[0]>0)
s[k]=s[k]+a[0];
k=k+1;
scanf("%d",&n);j=j+1;
}

for (i=0;i<j;i++)
    {if (i<j-1)printf("%d\n",s[i]);
    else printf("%d",s[i]);
    }

return 0;

}

n值没做处理,一直不等于0陷入死循环了