这个题有个坑就是他的数据里有不是1,2,3的数字,但是题目要的是有效的票数,而想要当选是要达到全部票数的半数所以要把所有的票都计数,而把有效票数单独计数。

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int a[10] = {0};
    int x,ans = 0,sum = 0;
    cin >> x;
    while(x!=-1)
    {
        a[x]++;
        sum ++;
        cin >> x;
    }
    for(int i = 1; i <= 3; i++) ans += a[i];
    printf("A=%d\n",a[1]);
    printf("B=%d\n",a[2]);
    printf("C=%d\n",a[3]);
    printf("Tot=%d\n",ans);
    if(a[1]*2 > sum) printf("A-yes");
    else if(a[2]*2 > sum) printf("B-yes");
    else if(a[3]*2 > sum) printf("C-yes");
    else printf("all-NO");

    return 0;
}