文章目錄
描述
溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fabrenheit)。
請編寫程序將用戶輸入華氏度轉換爲攝氏度,或將輸入的攝氏度轉換爲華氏度。
轉換算法如下:(C表示攝氏度、F表示華氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
代碼:
macro_rules! input_num {
() => {
{
let mut input = String::new();
std::io::stdin().read_line(&mut input)
.expect("Falied to read line");
input.trim().parse().unwrap()
}
};
}
fn main() {
loop {
println!("輸入攝氏溫度:");
let celsius_temp:f64 = input_num!();
let fabrenheit_temp = celsius_temp * 1.8 + 32.0;
println!("您輸入攝氏溫度:{}, 相應的華氏度:{}", celsius_temp, fabrenheit_temp);
println!("輸入華氏溫度:");
let fabrenheit_temp:f64 = input_num!();
let celsius_temp = (fabrenheit_temp - 32.0)/1.8;
println!("您輸入華氏溫度:{}, 相應的攝氏度:{}", fabrenheit_temp, celsius_temp);
}
}
結果:
備註:
1、Rust 裏面沒有辦法從鍵盤獲取一個數字類型的值
2、如果小數與整數之間進行數學運算,會出錯
3、參考:http://wiki.jikexueyuan.com/project/rust-primer/io/io.html