顺德做网站shundeit,抖音带运营的执行老大,深圳网站设计实力乐云seo,百度网盘有多大的免费空间钓鱼不打窝#xff0c;钓的也不多 语言只靠看不行#xff0c;还得练#xff0c;下面是AI生成的一些题目#xff0c;后续直接肝LeeCode,一举2得
1、猜数字
描述#xff1a;创建一个简单的猜数字游戏#xff0c;程序会随机生成一个数字#xff0c;玩家需要猜出这个数字是… 钓鱼不打窝钓的也不多 语言只靠看不行还得练下面是AI生成的一些题目后续直接肝LeeCode,一举2得
1、猜数字
描述创建一个简单的猜数字游戏程序会随机生成一个数字玩家需要猜出这个数字是多少。程序会给出提示告诉玩家猜的数字是大了还是小了
use std::cmp::Ordering;
use std::io::stdin;
use rand::{Rng};
fn main() {outer: loop {let rand_number rand::thread_rng().gen_range(1..100);loop {println!(please input one number:);let mut guess String::new();stdin().read_line(mut guess).expect(error);let number match guess.trim().parse::i32() {Ok(num) num,Err(_) {println!(please input number);continue;}};match number.cmp(rand_number) {Ordering::Less {println!(too small)}Ordering::Equal {println!(you win current number is {}, rand_number);break;}Ordering::Greater {println!(too big)}}}println!(you can choose y to continue );let mut flag String::new();stdin().read_line(mut flag).expect(input error);if !flag.trim().eq(y) { break outer; }}println!(game over!)
}2、计算器
描述编写一个简单的计算器程序支持加法、减法、乘法和除法运算。用户输入两个数字和一个操作符程序输出运算结果。
use std::io::stdin;
use std::str::FromStr;/**描述编写一个简单的计算器程序支持加法、减法、乘法和除法运算。用户输入两个数字和一个操作符程序输出运算结果。*/fn main() {loop {// 输入数字let mut input_number String::new();stdin().read_line(mut input_number).expect(input error);let number parse_number(input_number);// 输入运算符let mut operator String::new();stdin().read_line(mut operator).expect(input error);// 输入数字2let mut input_number String::new();stdin().read_line(mut input_number).expect(input error);let number2 parse_number(input_number);// 计算match (number, number2) {(Ok(n1), Ok(n2)) {match calculate(n1, n2, operator) {Ok(data) println!({}{}{}{}, n1, operator.trim(), n2, data),Err(e) println!(calc error {}, e)}}_ println!(source number is none)}println!(you can choose n to end );let mut flag String::new();stdin().read_line(mut flag).expect(input error);if flag.trim().eq(n) {break;}}
}/*** 数据计算*/
fn calculate(number: f32, number2: f32, operator: str) - Resultf32, str {match operator.trim() { Ok(number number2),- Ok(number - number2),* Ok(number * number2),/ {if number2.abs() f32::EPSILON {Ok(number / number2)} else {Err(denominator should not be zero)}}_ Err(unsupported)}
}/*** 转换数字*/
fn parse_numberT: FromStr(s: str) - ResultT, T::Err {s.trim().parse::T()
}3、单词计数器
描述编写一个程序统计给定字符串中每个单词出现的次数。忽略大小写输出结果按照单词出现次数从高到低排序。
代码还能优化一下
use std::collections::HashMap;
use std::io::stdin;
fn main() {// 输入数字let mut map HashMap::new();let mut input_string String::new();stdin().read_line(mut input_string).expect(input error);// 统计每个单词的出现次数for x in input_string.split_whitespace() {let count map.entry(x.to_string()).or_insert(0);*count 1;}let mut vec:Vec_ map.iter().collect();vec.sort_by(|entry1,entry2| entry1.1.cmp(entry2.1).reverse());for (key, value) in vec {println!({}{}, key, value)}
}
4、斐波那契数列
描述编写一个函数生成指定长度的斐波那契数列。斐波那契数列的定义是前两个数为 0 和 1之后的每个数是前两个数之和。 提示 使用递归或迭代 实现。处理边界条件如长度为 0 或 1 的情况。 5、最长单词
描述编写一个函数接受一个字符串的引用并返回这个字符串中最长的单词。
6、矩形面积
描述定义一个结构体 Rectangle包含两个字段 width 和 height。为这个结构体实现一个方法 area计算矩形的面积。
7、多边形面积方法和函数
描述定义一个枚举 Shape包含 Circle、Square 和 Rectangle 三种形状。为每种形状实现一个方法 area计算它们的面积。
8、命令行参数解析
描述编写一个程序接受命令行参数并输出这些参数。例如运行 cargo run arg1 arg2 arg3 应该输出 arg1 arg2 arg3。
9、文件操作
描述编写一个程序读取一个文本文件的内容并将其写入到另一个文件中。
10、多线程
描述编写一个程序启动多个线程每个线程打印一个独特的消息。