数组-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
(特别喜欢这段代码,简洁、精炼!)
.