链接: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;
}