golang99道练习题之02

hdking · 2018-11-16 17:00:46 · 4479 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2018-11-16 17:00:46 的文章,其中的信息可能已经有所发展或是发生改变。

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

利润(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%提成从键盘输入当月利润,求应发放奖金总数?

2.程序分析:请利用数轴来分界,定位。

3.程序源代码:

package main
import "fmt"

func main() {
    var bonus,bonus1 float64
    fmt.Println("请输入利润金额:")
    fmt.Scan(&bonus)
    if bonus <=100000 {
        bonus1 = bonus * 0.1
        fmt.Println("您的奖金是:",bonus1)
    }else if bonus<=200000 {
        bonus1 = 100000 * 0.1+(bonus-100000)*0.075
        fmt.Println("您的奖金是:",bonus1)
    }else if bonus<=400000 {
        bonus1 = 100000 * 0.1+100000*0.075+(bonus-200000)*0.05
        fmt.Println("您的奖金是:",bonus1)
    }else if bonus<=600000 {
        bonus1 = 100000 * 0.1+100000*0.075+200000*0.05+(bonus-400000)*0.03
        fmt.Println("您的奖金是:",bonus1)
    }else if bonus<=1000000 {
        bonus1 = 100000 * 0.1+100000*0.075+200000*0.05+200000*0.03+(bonus-600000)*0.015
        fmt.Println("您的奖金是:",bonus1)
    }else if bonus>1000000 {
        bonus1 = 100000 * 0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.15+(bonus-1000000)*0.01
        fmt.Println("您的奖金是:",bonus1)
    }
}

或者

package main

import "fmt"

func main() {

    bonus10w := 100000 * 0.1
    bonus20w := bonus10w + 100000*0.075
    bonus40w := bonus20w + 200000*0.05
    bonus60w := bonus40w + 200000*0.03
    bonus100w := bonus60w + 400000*0.015

    var bonus, bonus1 float64
    fmt.Println("请输入利润金额:")
    fmt.Scan(&bonus)

    if bonus <= 100000 {
        bonus1 = bonus * 0.1
        fmt.Println("您的奖金是:", bonus1)
    } else if bonus <= 200000 {
        bonus1 = bonus10w + (bonus-100000)*0.075
        fmt.Println("您的奖金是:", bonus1)
    } else if bonus <= 400000 {
        bonus1 = bonus20w + (bonus-200000)*0.05
        fmt.Println("您的奖金是:", bonus1)
    } else if bonus <= 600000 {
        bonus1 = bonus40w + (bonus-400000)*0.03
        fmt.Println("您的奖金是:", bonus1)
    } else if bonus <= 1000000 {
        bonus1 = bonus60w + (bonus-600000)*0.015
        fmt.Println("您的奖金是:", bonus1)
    } else if bonus > 1000000 {
        bonus1 = bonus100w + (bonus-1000000)*0.01
        fmt.Println("您的奖金是:", bonus1)
    }
}

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4479 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
2 回复  |  直到 2022-01-18 14:45:25
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传