牛村正在进行村长选举,投票人一人一票,牛可乐是候选人A(投票代号为1)、牛能是候选人B(投票代号为2)和牛妹是候选人C(投票代号为3),其他投票代号无效。 投票列表用以-1表示结束,请分别统计出他们的得票数。谁的得票超过全部投票人数的半数,就输出谁当选为村长,如“A-yes”表示A当选,全部不过半数,输出“all-NO”。

**思路:利用数组a[3]来存放三个候选人的票数,假设A、B、C分别是a[1],a[2],a[3]。在数据输入是已经动态的在统计每个人的排数。

using namespace std;
int main()
{
    int a[3]={0};
    int cmp = 0;
    while(1)
    {
        int n;
        cin>>n;
        if(n!=-1)
        {
            a[n]++;
            cmp++;
        }
        else
        {
            break;
        }
    }
    int all = a[1]+a[2]+a[3];
    cout<<"A="<<a[1]<<endl;
    cout<<"B="<<a[2]<<endl;
    cout<<"C="<<a[3]<<endl;
    cout<<"Tot="<<all<<endl;
 
    if(a[1]>cmp/2) cout<<"A-yes"<<endl;
    else if(a[2]>cmp/2)  cout<<"B-yes"<<endl;
    else if(a[3]>cmp/2)  cout<<"C-yes"<<endl;
    else cout<<"all-NO"<<endl;
}