模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从高到底输出候选人编号和所得票数.
1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 5 6 7 int n = 0; 8 int A = 0,B =0,C = 0,D = 0,abandon = 0; 9 int ran = 0; 10 printf("请输入参举得人数:"); 11 scanf("%d",&n ); 12 for (int i = 0; i < n; i++) { 13 ran = arc4random()%(4-1+1)+1+64; 14 switch (ran) { 15 case 'A': 16 A++; 17 break; 18 case 'B': 19 B++; 20 break; 21 case 'C': 22 C++; 23 break; 24 case 'D': 25 D++; 26 break; 27 28 29 default: 30 abandon++; 31 break; 32 } 33 34 35 } 36 for (int i = 0; i < 4; i++) { 37 if (A >= B && A >= C && A >= D && A != -1) { 38 printf("A的选票是%d\n",A); 39 A = -1; 40 } 41 if (B >= A && B >= C && B >= D && B != -1) { 42 printf("B的选票是%d\n",B); 43 B = -1; 44 } 45 if (C >= A && C >= B && C >= D && C != -1) { 46 printf("C的选票是%d\n",C); 47 C = -1; 48 } 49 if (D >= A && D >= B && D >= C && D != -1) { 50 printf("D的选票是%d\n",D); 51 D = -1; 52 } 53 54 } 55 56 return 0; 57 }

浙公网安备 33010602011771号