美文网首页Rust语言编程实例100题
Rust语言编程实例100题-002

Rust语言编程实例100题-002

作者: L我是小学生 | 来源:发表于2021-06-11 13:43 被阅读0次

    Rust语言编程实例100题-002

    题目:企业发放的奖金根据利润提成。

    • 利润(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题-002

        本文链接:https://www.haomeiwen.com/subject/yrxveltx.html