RosettaCodeData/Task/Nth/Rust/nth.rust

21 lines
463 B
Text
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
fn nth(num: isize) -> String {
2015-02-20 09:02:09 -05:00
format!("{}{}", num, match (num % 10, num % 100) {
2018-06-22 20:57:24 +00:00
(1, 11) | (2, 12) | (3, 13) => "th",
(1, _) => "st",
(2, _) => "nd",
(3, _) => "rd",
_ => "th",
2015-02-20 09:02:09 -05:00
})
}
fn main() {
2018-06-22 20:57:24 +00:00
let ranges = [(0, 26), (250, 266), (1000, 1026)];
for &(s, e) in &ranges {
2015-02-20 09:02:09 -05:00
println!("[{}, {}) :", s, e);
2015-11-18 06:14:39 +00:00
for i in s..e {
2015-02-20 09:02:09 -05:00
print!("{}, ", nth(i));
}
2018-06-22 20:57:24 +00:00
println!();
2015-02-20 09:02:09 -05:00
}
}