超级简单但不知道哪错?

题目是任意输入十个数,分别求出其中正数和负数的平均值
但是运行时w永远为0
不知道哪错了

#include
int main()
{
float a[10];
int i,b=0,c=0;
float x=0,y=0,q,w;
for(i=1;i<=10;i++)
{
scanf("%f",&a[i]);
if(a>0)
{
b+=a[i];

x++;
q=(b/x);
}
if(a<0)
{
c+=a[i];

y++;
w=(c/y);
}
}
printf("q=%f,w=%f",q,w);
return 0;
}

问题解决的话,请点下采纳

#include <stdio.h>

int main()
{
    float a[10];
    int i;
    float b=0,c=0;
    float x=0,y=0,q,w;
    for(i=0;i<10;i++) 
    {
        scanf("%f",&a[i]);
        if(a[i]>0)
        {
            b+=a[i];
            x++;
        }
        if(a[i]<0)
        {
            c+=a[i];
            y++;
        }
    }
    q=(b/x);
    w=(c/y);
    printf("q=%f,w=%f",q,w);
    return 0;
}