实现一个猜数游戏,首先电脑随机生成一个0-100的整数,然后用户输入一个0-100的整数,并显示计算机猜测的结果是太大了,还是太小了,没猜对的话就继续猜,直到猜对,并显示出猜测次数。
按题目要求用go编写的结果
package main
import (
"fmt"
"math/rand"
"time"
)
func init() {
//初始化随机种子
rand.Seed(time.Now().UnixNano())
}
func main() {
var inputNum = 0 //输入猜测的整数
var num = 0 //猜测次数
//随机生成0-100的数字
secretNumber := rand.Intn(101)
//fmt.Println("神秘数字为:",secretNumber)
fmt.Println("请输入一个数!")
for {
//输入0-100整数
_, _ = fmt.Scanln(&inputNum)
fmt.Println("您的输入是:", inputNum)
num ++ //累计猜测次数
//判断大小
if inputNum > secretNumber {
fmt.Println("太大")
} else if inputNum < secretNumber {
fmt.Println("太小")
} else {
fmt.Println("猜对啦!")
break
}
}
fmt.Printf("您一共猜了%d次!",num)
}
按题目要求用Rust编写的结果
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
let mut num = 0;
//随机生成0-100的数字
let secret_number = rand::thread_rng().gen_range(1..101);
//println!("神秘数字为:{}", secret_number);
println!("请输入一个数!");
loop {
//输入0-100整数
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("无法读取行");
let guess:u32 = guess.trim().parse().expect("请输入一个数字");
println!("您的输入是:{}", guess);
num += 1; //累计猜测次数
//判断大小
match guess.cmp(&secret_number) {
Ordering::Less => println!("太小"),
Ordering::Greater => println!("太大"),
Ordering::Equal => {
println!("猜对啦!😍");
break;
}
}
}
println!("您一共猜了{}次!",num);
}