PAT基本的なレベル - ダイヤモンドオンボリューム2-7-46(15分)のようなダン

666.JPG

「666」は、おそらく我々は平均賞賛する、非常に強力な人である、ネットワーク言語です。最近の手段は、別の番号「9」、生み出された「6を投入し、」あまりにも多くの意味があります。あなたは、これが強力なの最高レベルであると考えられる場合は、あなたしている間違った - それは3「9」であったため、現在の最高レベルは、番号「27」です!

この質問は、「...... 6666 6」のみのシリーズで、廃止されたものを、プログラムを書くために、最新の高レベルの発現に翻訳表現感嘆文を、お聞きします。

入力フォーマット:

行の所与の入力文ではなく、より多くの1,000文字、数字、スペース、キャリッジリターンで終了することにより、すなわち、非空の文字列。

出力フォーマット:

左から右へスキャン入力文:文が連続つ以上6を有している場合、この文字列は、連続6 9によって置換される;より9連続6以上ある場合、この文字列は、連続的に置き換えられます6 27。それが出力されるように、その他のコンテンツは、影響を受けません。

サンプル入力:

it is so 666 really 6666 what else can I say 6666666666

出力例:

it is so 666 really 9 what else can I say 27


書式#include <iostreamの>
 使用して 名前空間はstdを、
int型のmain()
{
    文字列 strの、RES = "" ;
    getline(CIN、STR)。
    以下のためにINT iは= 0 ; I < str.lengthを();)
         場合(!STR [I] = ' 6 ' ){
            RES + = STR [I]。
            I ++ ;
        }
        {
             INT count_ = 1 一方、(++ I <str.length()&& STR [I] == ' 6 ' 
                count_ ++ ;
            場合(_ <=カウント3 しながら(_--カウント)RES + = ' 6 ' それ以外の 場合(count_> 3 &&数_ <= 9 
                RES + = ' 9 ' ;
            他の RES + = " 27 " ;
        }
    coutの << RES。
    システム(一時停止)。
    リターン 0 ;
}

 

おすすめ

転載: www.cnblogs.com/littlepage/p/11966803.html
おすすめ