统计一个整数中(0-9)出现的频率,最大支持1000位整数

#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;

int main()
{


    char ch[1001];
    cin >> ch;
    //memset(ch, 77, sizeof(ch));
    //sprintf(ch, "%d", num);
    //cout << ch << endl;

    int i = 0;
    int a[10];
    memset(a, 0, sizeof(a));
    while(ch[i]!=0)
    {
        switch (ch[i])
        {
        case '0':
            a[0]++;
            //cout <<a[i] << endl;
            break;
        case '1':
            a[1]++;

            break;
        case '2':
            a[2]++;
            break;
        case '3':
            a[3]++;
            //cout <<a[i] << endl;
            break;
        case '4':
            a[4]++;
            break;
        case '5':
            a[5]++;
            break;
        case '6':
            a[6]++;
            break;
        case '7':
            a[7]++;
            break;
        case '8':
            a[8]++;
            break;
        case '9':
            a[9]++;
            break;
        }
        i++;


    }
    for(int i=0; i<10; i++)
    {
        if(a[i]!=0)
        {
            cout << i << ":" << a[i]  <<endl;
        }
    }
//    while(ch[i]!=p)
//
//    while(n!=1)
//    {
//
//    i++;
//    if(n%2==1)
//    {
//       n = (3 * n + 1)/2;
//    }
//    else
//    {
//        n = n / 2;
//    }
//    //cout << n << endl;
//    }
//    cout << i << endl;
    return 0;
}

 

posted @ 2017-07-25 08:37  diamondDemand  阅读(326)  评论(0编辑  收藏  举报