Rust语言编程实例100题

Rust语言编程实例100题-002

2021-06-11  本文已影响0人  L我是小学生

Rust语言编程实例100题-002

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

从键盘输入当月利润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 元
上一篇 下一篇

猜你喜欢

热点阅读