PTAプラクティスL1-003一桁の統計

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

おすすめ

転載: blog.csdn.net/qq_50912013/article/details/114436843