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

 1 /*
 2  * Main.c
 3  * E7-数组-07. 求一批整数中出现最多的个位数字
 4  *  Created on: 2014年8月22日
 5  */
 6 
 7 #include <stdio.h>
 8 
 9 int main(void){
10 
11     int array[1000],temp[10]={0};
12     int max=0;
13     int i,N;
14 
15     scanf("%d",&N);
16     getchar();
17     for(i=0;i<N;i++){
18         scanf("%d",&array[i]);
19     }
20 
21     for(i=0;i<N;i++){
22         while(array[i]){
23             temp[array[i]%10]++;
24             array[i]/=10;
25         }
26     }
27 
28     for(i=0;i<10;i++){
29         if(max<temp[i])
30             max=temp[i];
31     }
32 
33     printf("%d:",max);
34     for(i=0;i<10;i++){
35         if(temp[i]==max)
36             printf(" %d",i);
37     }
38     printf("\n");
39 
40     return 0;
41 }

 

这个题目参考了一位网友的C++代码,经过测试发现,还是C语言的执行效率略高。

这是我直观的感受,有时候会用不同的语言、不同的算法去做对比,结果发现总是C的内存小、时间短。当然,Java的内存和时间消耗要大上30多倍!

         

 

 

题目链接:

http://pat.zju.edu.cn/contests/basic-programming/%E6%95%B0%E7%BB%84-07

参考:

http://www.cnblogs.com/gnodidux/p/3822761.html

 (特别喜欢这段代码,简洁、精炼!)

 

.

posted @ 2014-08-23 00:29  Boomkeeper  Views(1873)  Comments(5Edit  收藏  举报
最好的流量统计 网站流量计数器