08-1. 求一批整數中出現最多的個位元字(20)

來源:互聯網
上載者:User

標籤:style   blog   color   strong   io   for   div   amp   

給定一批整數,分析每個整數的每一位元字,求出現次數最多的個位元字。例如給定3個整數1234、2345、3456,其中出現最多次數的數字是3和4,均出現了3次。

輸入格式:

輸入在第1行中給出正整數N(<=1000),在第2行中給出N個不超過整型範圍的正整數,數字間以空格分隔。

輸出格式:

在一行中按格式“M: n1 n2 ...”輸出,其中M是最大次數,n1、n2、……為出現次數最多的個位元字,按從小到大的順序排列。數字間以空格分隔,但末尾不得有多餘空格。

輸入範例:

31234 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 }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.