情報学オルセーC++言語:デジタルカード

4754 ワード

【タイトル説明】銘銘銘はケーキを4年生(1)のクラスに送り、クラスの子供たちはデジタルカードを探すゲームをしています.銘銘は子供たちを試験したいと思って、ランダムにN枚のカードを引き出して、彼は子供たちにこのN枚のカードの上で1種の数字がそれぞれ何回現れたかを数えさせて、数えたらケーキを1枚多く奨励します.子供たちは急いでケーキを食べたいですが、いつも数えていません.手伝ってもらえますか.
【入力】入力データは2行です.1行目:1つの整数N(0行目:N個の整数があり、カード1枚あたりの数Niを表す)(0<=Ni<=100).
【出力】数字0~9の順に複数行出力します.行ごとに2つの数があり、最初の数は数字を表し、2番目の数はこの数字が何回現れたかを表します.
【入力サンプル】5 15 22 17 82 5
【出力サンプル】1 2 2 3 5 2 7 1
コード#コード#
#include
using namespace std;
int ans[10];
int main()
{
	int n,in;
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		cin>>in;
		if(in>=0&&in<=9) 
		ans[in]++;
		else if(in==100) ans[1]++,ans[0]+=2;
		else ans[in%10]++,ans[in/10]++;
	}
	for(int i=0; i<10; i++)
		if(ans[i]) cout<<i<<' '<<ans[i]<<endl;
	return 0;
}