PAT A1100 Mars Numbers (20分)

回顧一下

自從期末復習進入了白熱化階段沼填,簡書我就斷更了桅咆。
同時我也進行了一定的反思,每日更新一篇文章見證自己的進步固然很好坞笙,但是每篇沒有必要寫的跟個水文一樣岩饼,自己難免也有點瞧不起。
所以我覺得應該做一定的改觀了羞海。有趣的圖片能用的用忌愚,沒必要的就不加了/其實我還是想加上的,也好看也生動對吧却邓。
至于講解的語言硕糊,再精簡點。
舍去題目腊徙,直接放一個原題鏈接作為替代简十。
豐富一下結尾的總結內容,讓人印象深刻一點撬腾。

I 'm BACK


Mars Numbers

原題鏈接


分析:
這道題目螟蝙,是一個map用法的練習題目。很經典民傻,初學時胰默,值得仔細回味反復琢磨。
思路:打表漓踢。
關鍵點:
1.完成“火星文”的存儲
2.開兩個映射牵署。string組,和map<string,int>
值得注意的是喧半,string數(shù)組天生就是一個int到string的映射奴迅,無需map。
3.init函數(shù)負責打表工作挺据。

代碼如下:

#include <cstdio>
#include <iostream>
#include <string>
#include <map>

using namespace std;

//火星數(shù)字的存儲
string unitDigit[13] =
    {"tret",
     "jan",
     "feb",
     "mar",
     "apr",
     "may",
     "jun",
     "jly",
     "aug",
     "sep",
     "oct",
     "nov",
     "dec"

};
string tenDigit[13] =
    {
        "tret",
        "tam",
        "hel",
        "maa",
        "huh",
        "tou",
        "kes",
        "hei",
        "elo",
        "syy",
        "lok",
        "mer",
        "jou"
};

//開兩組映射
string numToStr[170];
map<string, int> strToNum;


//打表函數(shù)
void init()
{
    for(int   i = 0 ; i< 13 ; i++)//這是進行基礎數(shù)字的構造
    {
        numToStr[i] =  unitDigit[i];
        strToNum[unitDigit[i]] = i;
        //1-12


        numToStr[i*13] = tenDigit[i];
        strToNum[tenDigit[i]] = i *13 ;
    }

    for(int  i = 1 ; i < 13 ; i++)
    {
        for(int  j   =  1 ;  j < 13  ; j ++)
        {
            string str = tenDigit[i] +" "+ unitDigit[j];
            numToStr[i*13  +  j] =  str;
            strToNum [str] =i*13  +  j;
        }

    }

}


int main()
{
    init();
    int Q;//Q個詢問
    scanf("%d%*c",&Q);//去除緩存區(qū)里面的回車
    while(Q--)
    {
        string str;
        getline(cin , str);
        if(str[0] >= '0' && str[0] <= '9')//判定是數(shù)字 
        {
            int  num  ;
            num = atoi(str.c_str());
            cout<<numToStr[num]<<endl;
        }
        else
        {
            cout<<strToNum[str]<<endl;
        }
        
    }
    return 0 ;
}


我不想把代碼備注得太過詳細取具,影響你獨立思考的過程脖隶。


總結

一、

打表和map映射是很好的搭配暇检,解決問題起來相當容易产阱。
這里有一個小小的注意點:


不知你注意到沒有.png

代碼里scanf是
scanf("%d%*c",&Q)
實不相瞞块仆,我一開始沒有注意到心墅,只是按照
scanf("%d",&Q)
輸入的榨乎,結果提交之后一片青青草原。

%*c很重要.png

我給出的解釋(我認為的解釋):
%*c作用是瘫筐,忽略這個輸入蜜暑,哪也不存儲。(拋棄)
因為我們輸入Q這個數(shù)據(jù)之后策肝,按下了回車鍵肛捍,這個回車留在了緩存區(qū)。
等到getline的時候之众,如果你沒有通過%*c拋棄掉回車拙毫,getline就會得到這個回車,也就會多一個沒有用的答案
喏~.png

二棺禾、


atoi

這個超贊的W禾恪!膘婶!

string str = "12345";
int num = atoi (str.c_str());
//實現(xiàn)了直接從char* 或者是string向int 的轉化

atof

這也還行缺前,就是有所精度的丟失

string str = "12345";
double num = atof (str.c_str());

我的碼云鏈接

這里面沒有什么個人的項目,我還沒到那個水平悬襟。只是先把自己的做題代碼放在這里做個成長記錄衅码。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脊岳,隨后出現(xiàn)的幾起案子逝段,更是在濱河造成了極大的恐慌,老刑警劉巖割捅,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奶躯,死亡現(xiàn)場離奇詭異,居然都是意外死亡棺牧,警方通過查閱死者的電腦和手機巫糙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颊乘,“玉大人参淹,你說我怎么就攤上這事醉锄≌阒担” “怎么了恳不?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長开呐。 經常有香客問我烟勋,道長,這世上最難降的妖魔是什么筐付? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任卵惦,我火速辦了婚禮,結果婚禮上瓦戚,老公的妹妹穿的比我還像新娘沮尿。我一直安慰自己,他們只是感情好较解,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布畜疾。 她就那樣靜靜地躺著,像睡著了一般印衔。 火紅的嫁衣襯著肌膚如雪啡捶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天奸焙,我揣著相機與錄音瞎暑,去河邊找鬼。 笑死与帆,一個胖子當著我的面吹牛金顿,可吹牛的內容都是我干的。 我是一名探鬼主播鲤桥,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼揍拆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了茶凳?” 一聲冷哼從身側響起嫂拴,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贮喧,沒想到半個月后筒狠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡箱沦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年辩恼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡灶伊,死狀恐怖疆前,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情聘萨,我是刑警寧澤竹椒,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站米辐,受9級特大地震影響胸完,放射性物質發(fā)生泄漏。R本人自食惡果不足惜翘贮,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一赊窥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狸页,春花似錦誓琼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叔收。三九已至齿穗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饺律,已是汗流浹背窃页。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留复濒,地道東北人脖卖。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像巧颈,于是被迫代替她去往敵國和親畦木。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348