学习了几天折语言了,可以放手自己写一些小程序了。
今天 试试用 rust看看自己水平如何?
1、写一个九九乘法表
fn main() {
for i in 1..=9 {
for j in 1..=i {
print!("{}*{}={}\t", j, i, i * j);
}
println!();
}
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
这个和其他语言相关不大。比较容易。
2、写一个猜数字游戏。
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
println!("猜数字游戏!");
let secret_number = rand::thread_rng().gen_range(1..=100); //生成随机数字。
loop {
let mut my_num = String::new(); //建立新的字符串,用于存储输入的数字。
io::stdin().read_line(&mut my_num).expect("msg"); //用st接收输入数字。
//判断是否为数字,将字符串转化成数字,用模式匹配,简单一点,可用 if let
let my_num: u32 = match my_num.trim().parse() {
Ok(num) => num,
Err(_) => {
println!("请输入一个有效的数字!");
continue;
}
};
//以下将比较两个数字。
println!("你猜的数字是:{}", my_num);
match my_num.cmp(&secret_number) {
Ordering::Less => println!("太小了!"),
Ordering::Greater => println!("太大了!"),
Ordering::Equal => {
println!("你猜对了!");
break;
}
}
}
}
为了运行这个程序,需要添加 rand
库到你的 Cargo.toml
文件中。以下是 Cargo.toml
的相关部分:
[dependencies]
rand = "0.8.5"
猜数字游戏! 50 你猜的数字是:50 太小了! 75 你猜的数字是:75 太小了! 85 你猜的数字是:85 太大了! 70 你猜的数字是:70 太小了! 80 你猜的数字是:80 太大了! 77 你猜的数字是:77 太小了! 78 你猜的数字是:78 你猜对了!