使用したシステムを、 使用にSystem.Collectionsを、 使用System.Collections.Genericを、 使用してSystem.Linqのを、 使用System.Textのを、 使用System.Threading.Tasks; 名前空間ConsoleApp5 { クラスプログラム { int型メイン(文字列[]引数) { // の定義デジタル入力の受信の大きなアレイ 文字を[] = CH 新しい新しい CHAR [ 100 ]; 文字列STR、 INT SUM = 0 ; //もし加算のビット数入力した後にデジタル数を格納するために使用されるアレイ定義 INT [] = SUM0 新しい新しい INTを [ 999 ;] INT iは= 0 ; // A後、iの値を記録するために使用 INT A = 0 。 // デジタル入力を受け付けるとでCH配列[]に変換され、 STR = Console.ReadLine(); CH = str.ToCharArray(); // 対応する表音文字列型が配列に格納され た文字列 [] = STR1 新しい新 文字列 [ 10 ] { " 李"、" ER "、「サン「」シリコン「」呉「」劉「」チー「」BA 「」JIU 「」市" }; // 入力文字列の末尾に自動的に『\ 0』を追加し、このようにフラグの終了が決定されるように するために(私は= 0 ; STR [I] =!' \ 0 ' ; I ++ ) { SUM + STR = [I] - ' 0 ' 。 //このステップでは、私は+ 1その後、範囲外の決定STR [i]のインデックスに進み、最後の悪いサイクルの後に追加されていない // 全てのiプラス1つの前進が破損していないときの最後の IF(I == str.length - 1 ) { BREAK ; } } // へのIが初期化される iは= 0 ; // 入力デジタル数字は、あなたはそれらのそれぞれのビットまで追加シーク // の逆SUM0 []アレイに配置されている音符 しばらく!(SUM = 0 ) { SUM0 [I] SUM%= 10 ; SUM = SUM / 10 ; I ++。 } // 私の最後のステップは、0から配列インデックス開始iが1つの減算すべてについて、1インクリメントされる // このような合計が123である、しかし3ビット、すなわちI 3つの3サイクル0アレイは、あります1,2-十分 i-- ; //はiは開始から出力された次のI、なぜなら逆順に記録アレイの和の値を記録し 、A = ;私 用(INT J = 0 ; J <=、J ++、 i-- ) { // 0から0009配列インデックスが開始ので(SUM0 [I]) - 1]。 Console.Write(STR1 [(SUM0 [I]) - 1。]); // 最後の番号""なし IF(J =!A) { Console.Write(" " )。 } } 戻り 0 。 } } }