天天看點

百度之星之E:C++ 與Java

E:C++ 與Java

時間限制:

2000ms

記憶體限制:

65536kB

描述

在百度之星的貼吧裡面,Java的愛好者和C++的愛好者總是能為這兩種語言哪個更好争論上幾個小時。Java的愛好者會說他們的程式更加整潔且不易出錯。C++的愛好者則會嘲笑Java程式很慢而且代碼很長。

另一個Java和C++愛好者不能達成一緻的争論點就是命名問題。在Java中一個多個單詞構成的變量名應該按照如下格式命名:第一個單詞的開頭用小寫字母,其餘單詞都以大寫字母開頭,單詞與單詞之間不加分隔符,除單詞的首字母之外的字母一律使用小寫。例如:javaIdentifier, longAndMnemonicIdentifier, name, bAIDU.

與Java不同C++的命名全都使用小寫字母,在單詞和單詞之間使用“_”來作為分隔符。例如:c_identifier,long_and_mnemonic_identifier, name (當名字中隻有一個單詞的時候,Java與C++的命名是相同的), b_a_i_d_u.

你的任務就是寫一個程式能讓C++和Java程式互相轉化。當然轉換完成的程式中的變量名也要符合其語言的命名規則,否則的話是不會有人喜歡你的轉換器的。

首先你要做的就是寫一個變量名轉換器。給出一個變量名,你要先檢測是Java的還是C++的,然後把它轉化為另一種命名格式。如果兩種都不是,那麼你的程式就要報錯。轉換過程必須保持原有的單詞順序,隻能改變字母的大小寫和增加或删除下劃線。

輸入

輸入有且僅有一行,是一個變量名,其中包含字母和下劃線,長度不超過100。

輸出

如果輸入的是Java變量名那麼輸出它對應的C++形式。如果是C++的則輸出對應的Java的形式。如果兩種都不是就輸出“Error!”。

樣例輸入

輸入樣例1:

long_and_mnemonic_identifier

輸入樣例2:

anotherExample

輸入樣例3:

i

輸入樣例4:

bad_Style

樣例輸出

輸出樣例1:

longAndMnemonicIdentifier

輸出樣例2:

another_example

輸出樣例3:

輸出樣例4:

Error!

【答案】

————————————————

版權聲明:本文為CSDN部落客「銘毅天下」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:

https://blog.csdn.net/laoyang360/article/details/7621129
百度之星之E:C++ 與Java
百度之星之E:C++ 與Java