首先明确的强调一下,是说的超过投票人数一半,不是有效投票人数一半,很多人陷在一个坑里面
上代码:
#include <stdio.h> int main() { int i = 0, A = 0, B = 0, C = 0,n = 0, count = 0; while (n != -1) /*控制循环输入*/ { scanf("%d", &n); switch (n) { case 1:A++;count++;break; case 2:B++;count++;break; case 3:C++;count++;break; default:count++;break; /*计算总的投票人数,不是有效投票人数,所以需要有default*/ } } printf("A=%d\n", A); printf("B=%d\n", B); printf("C=%d\n", C); printf("Tot=%d\n", A + B + C); /*这是有效投票人数*/ for (i = 0; i < 1; i++) /*其实循环没必要,我懒得修改了,直接判断就可以*/ { if (A > (count/2)) printf("A-yes\n"); else if (B > (count/2)) printf("B-yes\n"); else if (C > (count/2)) printf("C-yes\n"); else printf("all-NO\n"); } return 0; }