ACM选票统计(C语言)

2016年7月25日 

选票统计

Time Limit: 1000MS Memory limit: 65536K

题目描述

某校学生会主席由全校学生投票选举产生,共有m名候选人报名参选,编号为1到m(0<m<1000),全校有n名学生(0<n<30000),每人都可以投票。但每人只能投一票,每票只能选1名候选人。请你设计一个程序能够统计出哪个候选人得票最高,得了多少票。不会出现得票数相同的情况。

输入

第一行输入候选人数m和学生数n,以空格分开;
下面依次输入每个学生所选的候选人的编号。

输出

第一行输出得票最多的候选人编号;
第二行输出该候选人所得的票数。

示例输入

3 10
1 2 3 2 3 1 2 3 1 3

示例输出

3
4


01. #include <stdio.h> 
02. #include <stdlib.h> 
03. 
04. int main() 
05. { 
06. struct st 
07. { 
08. int ps; 
09. }; 
10. struct st p[1001]; 
11. int m,n,i,c,max,b; 
12. scanf("%d%d",&m,&n); 
13. for(i=1;i<=n;i++) 
14. { 
15. p[i].ps=0; 
16. scanf("%d",&c); 
17. p[c].ps=p[c].ps+1; 
18. } 
19. max=p[1].ps;b=1; 
20. for(i=2;i<=m;i++) 
21. if(p[i].ps>max) 
22. {max=p[i].ps;b=i;} 
23. printf("%d\n%d\n",b,max); 
24. return 0; 
25. } 

猜你喜欢

转载自blog.csdn.net/huaxuewan/article/details/52027408