Rust语言编程例子 第002题:判断语句
Rust语言编程题目:企业发放的奖金根据利润提成。
- 利润(I)低于或等于10万元时,奖金可提10%;
- 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
- 20万到40万之间时,高于20万元的部分,可提成5%;
- 40万到60万之间时高于40万元的部分,可提成3%;
- 60万到100万之间时,高于60万元的部分,可提成1.5%;
- 高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
知识点:if条件判断,数据运算
// 输入数据 let mut input_data = String::new(); // 最后的利润 let mut bonus: f64 = 0.0; println!("请输入您的利润:"); // 接收输入数据 std::io::stdin().read_line(&mut input_data).expect("read_line failed!"); // 判断输入的数据是否符合要求 match input_data.trim().parse::<i32>() { Ok(data) => { let bonus1: f64 = 100_000.0 * 0.1; let bonus2: f64 = bonus1 + 100_000.0 * 0.075; let bonus4: f64 = bonus2 + 100_000.0 * 0.05; let bonus6: f64 = bonus4 + 100_000.0 * 0.03; let bonus10: f64 = bonus6 + 400_000.0 * 0.015; // 分档计算 if data <= 100_000 { bonus = f64::from(data) * 0.1; } else if data <= 200_000 { bonus = bonus1 + (f64::from(data) - 100_000.0) * 0.075; } else if data <= 400_000 { bonus = bonus2 + (f64::from(data) - 200_000.0) * 0.05; } else if data <= 600_000 { bonus = bonus4 + (f64::from(data) - 400_000.0) * 0.03; } else if data <= 1_000_000 { bonus = bonus6 + (f64::from(data) - 600_000.0) * 0.015; } else if data > 1_000_000 { bonus = bonus10 + (f64::from(data) - 1_000_000.0) * 0.01; } // 最后保留2位小数 println!("应发奖金总数: bonus = {:.2} 元", bonus); } Err(_) => { println!("你输入的 {} 不是一个整数!", input_data.trim()) } };
程序执行结果:
实验数据:34534005
输出结果: 请输入您的利润: 34534005 应发奖金总数: bonus = 366840.05 元
Rust语言编程题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为 x。1、则:x + 100 = n2, x + 100 + 1 ...