PAT B1021桁の統計

PAT B1021桁の統計

件名の説明:

  与えられたkビットの整数N = D kを1〜10 kは iが≤-1 +⋯+ D 1 10 1 + D 0(0≤d 9、I = 0、⋯、 K-1、DのK-1> 0)、 異なる単一の数字が表示されるのそれぞれの数をカウントするためのプログラムを書きます。たとえば、次の指定されたN = 100311、2 0,3 1 2、1 3があります。

  入力フォーマットは:
  各入力はテスト、すなわち、無1000以上の正の整数Nを含みます

  出力フォーマット:
  Mビットデジタル出力形式D及びM.における行Nにおける出現の数:DへのN個の異なる数字の各々について D.の昇順に必要な出力
  
  サンプル入力:
   100311

  出力サンプル:
   0:2
  1:3
  3:1

参照コード:

1  / * *********************************************** ****
 2つの PAT B1021桁の統計
 3  ************************************** ************* * / 
4の#include <入出力ストリーム>
 5。 
6。 使用した 名前空間STD;
 7  
。8  INT メイン(){
 9      NUM;
 10      INT appearTime [ 10 ] { 0 };       // 出現統計0.9の数
11  
12      CIN >> NUM;
 13  
14      // 統計の数は、各出現0 0.9に数値を入力し
15      のためにINT I = 0 ; ++; Iはnum.size()< I){
 16          appearTime [NUMは、[I]は- ' 0 ' ] ++ ;
 17      }
 18であるが 
。19の     // 出力統計
20      BOOL isFirstNum = trueに ;                  // 二次数が0であり、入力は出力改行するかどうかかどうかを決定
21がある     ためint型 I = 0 ;私は< 10 ; ++ I)は{
 22はある         場合(!appearTime [I] = 0 ){
 23である             場合(!isFirstNum)COUT < <てendl;   //これは出力に必要とされない場合、最初の出力と前回の出力改行を分離
24              COUT << << I ' ' << ; appearTime [I]
 25              isFirstNum = falseに26である         }
 27      }
 28  
29      IF(isFirstNum)を<< COUT " 0:0 " ;           // 何も出力が記載されていない場合は、デジタル入力0 
30  
31である     戻り 0 ;
 32 }

注意事項:

  1:入力を処理注はゼロです。

おすすめ

転載: www.cnblogs.com/mrdragon/p/11403346.html