题目2:企业发放的奖金根据利润提成。利润 (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..else 语句算出来,但需要注意的是,除了小于等于10万外,下一个条件的运算结果都是建立在上一个条件上的,所以我们可以给没个条件计算的结果声明一个变量,并保存起来,如下所示:
<!DOCTYPE html>
<html>
<head>
<title>C 语言实例100题</title>
</head>
<body>
<script type="text/javascript">
var i = window.prompt("请输入利润", "i");
var bonus,
bonus1 = 100000 * 0.1, //小于等于10万
bonus2 = bonus1 + 100000 * 0.075, //小于等于20万
bonus4 = bonus2 + 200000 * 0.05, //小于等于40万
bonus6 = bonus4 + 200000 * 0.03, //小于等于60万
bonus10 = bonus6 + 400000 * 0.015; //小于等于100万
if (i <= 100000) {
bonus = i * 0.1;
} else if (i <= 200000) {
bonus = bonus1 + (i - 100000) * 0.075;
} else if (i <= 400000) {
bonus = bonus2 + (i - 200000) * 0.05;
} else if (i <= 600000) {
bonus = bonus4 + (i - 400000) * 0.03;
} else if (i <= 1000000) {
bonus = bonus6 + (i - 600000) * 0.015;
} else if (i > 1000000) {
bonus = bonus10 + (i - 1000000) * 0.01;
}
console.log(bonus);
</script>
</body>
</html>
``