摂氏と華氏を反転させる関数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <?php while(true){     $s = trim(fgets(STDIN));     if($s === ""){         break;     }     $out = invertCelsiusAndFahrenheit($s);     echo $s . " -> " . $out . PHP_EOL; } /* 問題:摂氏(℃)を入力すると華氏(°F)に変換し、華氏を入力すると摂氏に変換する関数を作成せよ 摂氏の場合は"26C"のように入力し、華氏の場合は"67F"のように入力する */ function invertCelsiusAndFahrenheit($s){     $errMsg = '無効な入力です : ' . $s;     $tail = mb_substr($s, -1);     if($tail !== 'C' && $tail !== 'F'){         // 例外。CまたはFで終わらない         throw new Exception($errMsg);     }     $num = mb_substr($s, 0, strlen($s) - 1);     if(!is_numeric($num)){         // 例外。数値形式じゃない         throw new Exception($errMsg);     }     /* CHECK OK */     $num = intval($num);     if($tail === "C"){         // セ氏=>華氏         $outNum = $num * 9 / 5 + 32;         $outTail = "F";     }else{         // 華氏=>セ氏         $outNum = ($num - 32) * 5 / 9;         $outTail = "C";     }     $output = $outNum . $outTail;     return $output; } | 
| 1 2 3 4 5 | 26C -> 78.8F 67F -> 19.444444444444C -67F -> -55C 0C -> 32F 0F -> -17.777777777778C | 



