循环问题结果输出不了是哪错了



#include
int main()
{
float i,x,y,ave,N=10,g1=0,g2=0,g3=0,g4=0,g5=0;
for(i=1;i<=N;i++){
    printf("请输入学生的两门课成绩(用逗号分隔):\n",x,y);
    scanf("%f,%f",&x,&y);
    ave=(x+y)/2;
    if(ave>=90)
    g1++;
    else if(ave>=80&&ave<90)
    g2++;
    else if(ave>=70&&ave<80)
    g3++; 
    else if(ave>=60&&ave<70)
    g4++; 
    else
    g5++;
}
        printf("excellent:%d\n",g1);
        printf("all rignt:%d\n",g2); 
        printf("middle:%d\n",g3); 
        printf("pass:%d\n",g4); 
        printf("fail:%d\n",g5); 
return 0;
}

将%d都改成%f

g1 g2 g3 g4 g5 定义的都是float型, 最后输出printf()里不能用 ”%d“ ,应该用 ”%f“ .