zoukankan      html  css  js  c++  java
  • 08-1. 求一批整数中出现最多的个位数字(20)

    给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定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 
     3 int main()
     4 {
     5     int n;                             //输入n个数 
     6     scanf("%d", &n);
     7     
     8     int i, a[n], b[10] = {0};
     9     for(i = 0 ; i < n ; i++) {     
    10         scanf("%d", &a[i]);            //将n个数存放到a数组中 
    11         while(a[i] != 0) {
    12             b[a[i] % 10]++;            //a[i]的个位数当作b数组的下标  
    13             a[i] /= 10;                //去掉a[i] 的个位数 
    14         }                              //a[i]的 各个位数(个位,百位...)都存放在b 数组的下标 ,并且记录下它出现的个数 
    15     }                                  //n 个数字都遍历完 
    16     int t = 0;
    17     for(i = 0 ; i < 10 ; i++) {        //b[i]表示数字 i 出现的次数  
    18         if(t < b[i]) {
    19             t = b[i];                  //找到b[i]的最大值 
    20         }
    21     } 
    22     printf("%d: ", t);                 //按格式输出前面部分 
    23     int c[10] = {-1}, cnt = 0;          
    24     for(i = 0 ; i < 10 ; i++) {        //遍历b[i]数组 
    25         if(b[i] == t) {                //找到b[i]的所有最大值 (出现最多次数) 
    26             c[i] = i;                  //并将最大值的下标存放到c 数组中(下标对应相等 ) 
    27             cnt++;                     //并记录有多少最大值 
    28         }
    29     }
    30     int cnt2 = 0;
    31     for(i = 0; i < 10; i++) {          //遍历c 数组 
    32         if(c[i] == i) {                //找到最大值下标 (出现最多次数的数字) 
    33             printf("%d", i);           //并输出  
    34             cnt2++;
    35             if(cnt2 < cnt) {
    36                 printf(" ");
    37             }
    38         } 
    39     } 
    40     
    41     return 0;
    42 }
  • 相关阅读:
    微软并行编程类库Parallel Extensions初探 Part1 (转)
    一些很酷的.Net技巧(上)
    【Silverlight】Silvelright端获取托管web项目中xap的路劲
    【Silverlight】Silvelright获取web端的xml
    博客开始第一天
    asp.net过滤HTML方法
    程序员应该懂的道理
    生成缩略图
    转:用自定义IHttpModule实现URL重写
    android 之helloword
  • 原文地址:https://www.cnblogs.com/aexin/p/3880561.html
Copyright © 2011-2022 走看看