选村长

链接:https://ac.nowcoder.com/acm/problem/22198
来源:牛客网
 

题目描述

牛村正在进行村长选举,投票人一人一票,牛可乐是候选人A(投票代号为1)、牛能是候选人B(投票代号为2)和牛妹是候选人C(投票代号为3),其他投票代号无效。

投票列表用以-1表示结束,请分别统计出他们的得票数。谁的得票超过全部投票人数的半数,就输出谁当选为村长,如“A-yes”表示A当选,全部不过半数,输出“all-NO”。

输入描述:

输入一行,若干个整数,以-1结尾

输出描述:

输出五行,前三行表示三个候选人的表票数,然后是总的有效票数,最后一行表示选举结果。
#include <iostream>
#include <stdio.h>
#include<bits/stdc++.h>
using namespace std;

int main(){
    int A, B, C, Tot, n, m;
    A = 0;
    B = 0;
    C = 0;
    m = 0;
    while(scanf("%d",&n)==1 && n!=-1){
        m += 1;
        if(n == 1)
            A += 1;
        else if(n == 2)
            B += 1;
        else if(n==3)
            C += 1;
    }
    Tot = A + B + C;
    printf("A=%d\n",A);
    printf("B=%d\n",B);
    printf("C=%d\n",C);
    printf("Tot=%d\n",Tot);
    if(A > m/2)
        printf("A-yes");
    else if(B > m/2)
        printf("B-yes");
    else if(C > m/2)
        printf("C-yes");
    else 
        printf("all-NO");
    return 0;
}
发布了69 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_24852439/article/details/90414148