出现次数
Time Limit: 1000MS Memory limit: 65536K
题目描述
对于给定一个整数序列,你的任务是确定这个序列中出现次数最多的整数和它出现的次数。
输入
N(0 < N <= 1000),接下来一行为 N 个以空格分隔的整数 Ai,|Ai| < 2^31。
输出
A、B,分别代表出现次数最多的那个数和出现次数,如果出现次数最多的有多个,输出数值最小的那个。
示例输入
4 1 2 3 3 5 1 2 3 4 5
示例输出
3 2 1 1
1. #include<stdio.h>
2. int main()
3. {
4. int n, i, j, max, c, x;
5. long long a[1000];
6. while(scanf("%d", &n)!=EOF)
7. {
8. max = -1;
9. c = 0;
10. for(i = 0; i < n; i++)
11. {
12. "%d", &a[i]);
13. }
14. for(i = 0; i < n; i++)
15. {
16. x = 0;
17. for(j = i + 1; j < n; j++)
18. {
19. if(a[i] == a[j])
20. x++;
21. }
22. if(max < x)
23. {
24. max = x;
25. c = i;
26. }
27. else if(max == x)
28. {
29. if(a[c] > a[i])
30. {
31. c = i;
32. }
33. }
34. else max = max;
35. }
36. "%lld %d\n", a[c], max+1);
37. }
38. return 0;
39. }