#include<stdio.h>
int main()
{
    int n=0,a=0,b=0,c=0,cnt=0;
    while (n!=-1) {
        scanf("%d",&n);
        switch (n) {
            case 1:
                a++;
                cnt++;
                break;
            case 2:
                b++;
                cnt++;
                break;
            case 3:
                c++;
                cnt++;
                break;
            default://其他无效投票
                cnt++;
                break;
        }
    }
    printf("A=%d\n",a);
    printf("B=%d\n",b);
    printf("C=%d\n",c);
    printf("Tot=%d\n",a+b+c);
    if (a>cnt/2) {
        printf("A-yes\n");
    } else if (b>cnt/2) {
        printf("B-yes\n");
    } else if (c>cnt/2) {
        printf("C-yes\n");
    } else {
        printf("all-NO\n");
    }
    return 0;
}
提交了第三次才对,我一开始用了数组,好像变得更麻烦了。
感谢各位的提醒,要注意:
全部投票人数中包括有效与无效