L1-003 1桁の統計(15ポイント)
kビット整数が与えられた場合N = d k-1 10 k-1 + ... + d 1 10 1 + d 0(0≤di ≤9、i = 0、...、k-1、d k-1> 0)、それぞれの異なる1桁の出現回数をカウントするプログラムを作成してください。例:N = 100311の場合、2つのゼロ、3つの1、および1つの3があります。
入力フォーマット:
各入力には、1つのテストケース、つまり1000桁以下の正の整数Nが含まれます。
出力フォーマット:
Nの異なる1桁ごとに、桁DとNの出現回数MをD:Mの形式で連続して出力します。Dの昇順で出力する必要があります。
入力サンプル:
100311
サンプル出力:
0:2
1:3
3:1
1.この質問では、主に/および%記号を使用して、各桁のストレージと統計を完成させます。
2.もう1つの重要な点は、forループを使用してバケットを作成し、0から9までの出現回数をカウントすることです。
3.次に、桁数に注意してください。1000個の大きな数字が文字列に格納されます。
C ++コード
#include <iostream>
#include <cstring>
using namespace std;
int a[10];
int main()
{
string s;
cin >> s;
memset(a, 0, sizeof(a));
for (int i = 0; s[i] != '\0'; i++)
{
a[s[i] - '0']++;
}
for (int i = 0; i <= 9; i++)
{
if (a[i] != 0)
{
cout << i << ":" << a[i] << endl;
}
}
return 0;
}
イージーAC0.0