c++统计成绩题 输出结果不对

img

img

img


一般 >85能统计对
60-84的部分会包括所有
然后<60的部分没有
不知道为啥
求解答 谢谢

仅供参考,望采纳~

#include<iostream>
using namespace std;
int main(void)
{
    int arr[100],p=0,a=0,b=0,c=0;
    for(int i=0;i<100;i++)
    {
        cin >> arr[i];
        if(arr[i]<=0)
        {
            p=i-1;
            break;
        }
    }
    for(int i=0;i<=p;i++)
    {
        if(arr[i]>=85)
        {
            a=a+1;
        }
        else if(arr[i]>=60&&arr[i]<=84)
        {
            b=b+1;
        }
        else
        {
            c=c+1;
        }
    }
    cout << ">=85:" << a << endl;
    cout << "60~84:" << b << endl;
    cout << "<60:" << c << endl;
    return 0;
}

img