1021 個位數(shù)統(tǒng)計(jì)

給定一個 k 位整數(shù) N=d?k?110^k?1+?+d1?10^1? +d?0??(0≤d?i≤9, i=0,?,k?1, d?k?1>0),請編寫程序統(tǒng)計(jì)每種不同的個位數(shù)字出現(xiàn)的次數(shù)。例如:給定 N=100311,則有 2 個 0,3 個 1,和 1 個 3。

輸入格式:

每個輸入包含 1 個測試用例,即一個不超過 1000 位的正整數(shù) N。

輸出格式:

對 N 中每一種不同的個位數(shù)字,以 D:M 的格式在一行中輸出該位數(shù)字 D 及其在 N 中出現(xiàn)的次數(shù) M。要求按 D 的升序輸出。

輸入樣例:

100311

輸出樣例:

0:2
1:3
3:1

思路:

這個題比較簡單,將數(shù)字讀取到字符串中,然后對字符串進(jìn)行從0-9的字符查找計(jì)數(shù)即可,最后將計(jì)數(shù)不為零的結(jié)果輸出即可

代碼:

個位數(shù)統(tǒng)計(jì)

//1021  個位數(shù)統(tǒng)計(jì)
#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main()
{
    string number;
    vector<int> store;
    cin >> number;
    for (int i = 0; i < 10; i++)//對字符串進(jìn)行查找,查找0-9
    {
        int j = 0;
        int count = 0;
        while (j < number.size())
        {
            if (number[j] == '0' + i)
            {
                count++;//如果查找到i則計(jì)數(shù)
            }
            j++;
        }
        store.push_back(count);
    }
    for (int i = 0; i < 10; i++)//如果計(jì)數(shù)不為0則輸出
    {
        if (store[i] != 0)
        {
            cout << i << ':' << store[i] << endl;
        }
    }
    return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容