代码有啥问题,i1,i2,i3,i4,i5都是0

#include <stdio.h>

int main()
{
float x,y,c,i,i1 = 0,i2 = 0,i3 = 0,i4 = 0,i5 = 0,i6 = 0;
float sum=0,a;
scanf("%f",&x);
for(i=0;i<x;i++)
{
scanf("%f",&c);
sum=sum+c;
if(c<=50.0)
i1 += 1;
else if(c<=100.0)
i2 += 1;
else if(c<=150.0)
i3 += 1;
else if(c<=200.0)
i4 += 1;
else if(c<=250.0)
i5 += 1;
else
i6 += 1;
}
printf("%.2f\n",sum/x);
printf("%d %d %d %d %d %d",i1,i2,i3,i4,i5,i6);
return 0;
}

img

#include <stdio.h>

int main()
{
        int x, y, c,i, i1 = 0,i2 = 0,i3 = 0,i4 = 0,i5 = 0,i6 = 0;
        float sum=0,a;
        scanf("%d",&x);
        for(i=0;i<x;i++)
        {
                scanf("%d",&c);
                sum=sum+c;
                if(c<=50.0)
                        i1 += 1;
                else if(c<=100.0)
                        i2 += 1;
                else if(c<=150.0)
                        i3 += 1;
                else if(c<=200.0)
                        i4 += 1;
                else if(c<=250.0)
                        i5 += 1;
                else
                        i6 += 1;
        }
        printf("%.2f\n",sum/x);
        printf("%d %d %d %d %d %d",i1,i2,i3,i4,i5,i6);
        return 0;
}

如果没问题, 请采纳一下,谢谢!

循环变量i必须定义为整形,不能使用float类型。