数组-07. 求一批整数中出现最多的个位数字

数组-07. 求一批整数中出现最多的个位数字(20)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
徐镜春(浙江大学)

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。

输入格式:

输入在第1行中给出正整数N(<=1000),在第2行中给出N个不超过整型范围的正整数,数字间以空格分隔。

输出格式:

在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。

输入样例:
3
1234 2345 3456
输出样例:
3: 3 4
 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<stdlib.h>
 4 #include<string.h>
 5 int main()
 6 {
 7     int i, j, n, x, max, a[10] = {};
 8     scanf("%d", &n);
 9     for(i = 0; i < n; i++)
10     {
11         scanf("%d", &x);
12         while(x > 0)
13         {
14             a[x%10]++;
15             x /= 10;
16         }
17     }
18     max = a[0];
19     for(i = 1; i < 10; i++)
20         if(a[i] > max)
21         {
22             int temp = max;
23             max = a[i];
24             a[i] = max;
25         }
26     printf("%d:", max);
27     for(i = 0; i < 10; i++)
28         if(a[i] == max)
29             printf(" %d", i);
30     printf("\n");
31     return 0;
32 }

 

posted @ 2015-01-20 22:16  Yomman  阅读(3271)  评论(0编辑  收藏  举报