반응형
화씨-섭씨 변환
use std::io;
fn main() {
println!("화씨[F] 섭씨[C]:");
let mut input_value = String::new();
io::stdin().read_line(&mut input_value)
.expect("입력실패");
println!("{}",input_value.to_string());
if input_value.trim().to_string() == "F" {
println!("화씨온도를 입력하세요");
input_value = String::new();
io::stdin().read_line(&mut input_value)
.expect("입력실패");
println!("{}",input_value);
let input_value:u32 = input_value.trim().parse()
.expect("숫자아님");
println!("F {} ->C {}", input_value, (input_value -32) * 5 /9 )
} else if input_value.trim().to_string() == "C" {
println!("섭씨 온도를 입력하세요");
input_value = String::new();
io::stdin().read_line(&mut input_value)
.expect("입력실패");
let input_value:u32 = input_value.trim().parse()
.expect("숫자아님");
println!("C {} ->F {}", input_value, input_value * 9 / 5 + 32 );
}
}
- 객체 문자열이니 트림(trim()) 후 to_string 해서 상수값과 비교 해야 했음
- 같은 변수 이름 계속 쓸수 있다고해서 초기화 안했다가 찾기 힘들었음 ( input_value = String::new() 부분 )
피보나치 수열
use std::io;
fn main() {
println!("피보나치 수열 생성");
let mut input_value = String::new();
io::stdin().read_line(&mut input_value)
.expect("입력실패");
let number: u32 = input_value.trim().parse()
.expect("숫자아님");
/* u32 타입때문에 체크 안해도 됨!
if number < 0 {
std::process::exit(0);
}
*/
println!("{}번째 피보나치 수열 생성",number);
fibonacci(number);
}
fn fibonacci(_math_term_value: u32){
let mut num = 1;
let mut prv_num = 1;
print!("{} {} ",prv_num, num);
if _math_term_value >= 3 {
let mut count = _math_term_value - 2;
while count > 0 {
print!("{} ",prv_num+num);
let temp = num;
num = prv_num + num;
prv_num = temp;
count -= 1;
}
}
}
- 임시변수 안쓰고 바꾸는 좀더 우아한? 방법이 있을듯 함..
반응형