本文出處:
原題:
題意:給你一個串,讓你依據那個串來輸出ppi。坑特别多。ppi的計算方法是dp / inches; dp = sqrt(wp*wp + hp * hp);
現在我來說說這個題目有多坑:
給你的串的格式是這樣:
name + inches+ "inches" + num * num + type;
編譯原理最近沒有好好學,之後有時間我會把這個式子的文法表示形式寫出來給大家看一下,現在用語言來描叙把;
1.首先name中可以還有"inches",不一定因為出現了"inches"就會停止輸入資料;
2.inches可以是0,這個是0的概念很深刻。一個double型的樹,一旦小于1e-9就可以說是0;
3.type需要進行大小寫轉換,然而這個轉換是隻有大寫字母轉換成小寫字母,小寫字母本身是不改變的;
4.name中的單詞間如果有多個空格,保留一個空格就可以了。
5.求sqrt記得/10防止超精度。
6.不必在意那些空格- -,在意單詞就可以。這個題目十有八九是一個編譯原理搞多了的老師出的。詞法分析文法分析你要是學的好應該能跟上前輩的思路。但是學的不好像我這樣的半天搞不明白他這所謂的格式究竟是個神馬意思。非常歡迎大家回複,找出自己之前考慮到的情況結果測試資料完全不考慮。呵呵。
什麼都不說了,全是淚,帖代碼。
7.對于讀入整個串,最後面\n的問題如何處理可以采用如下方式。借鑒了大神的代碼。大神的blog我找不到了。。= =