第七周 OJ总结<6>-求奖金总数
来源:互联网 发布:梦想成真软件系统 编辑:程序博客网 时间:2024/05/17 23:48
Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:OJ总结<4>-求奖金总数
作 者:王兴振
完成日期:2016年10月20日
版 本 号:未知
题目描述:
企业发放的奖金根据利润提成。利润低于或等于100000元的,
奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,
低于100000元的部分按10%提成,高于100000元的部分,可
提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,
(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;
600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入
当月利润I,求应发奖金总数。
输 入:
一个整数,当月利润。
输 出:
一个整数,奖金。
样例输入:
900
样例输出:
90
提 示:
用Switch要比用if的看起来更清晰。
我的做法(已验证):
(1)if :
#include<stdio.h>
int main()
{
int x,y;
scanf("%d", &x);
if (x>0 && x<=1000000)
{
if (x>0 && x<=100000)
y=(0.1)*x;
else
{
if (x>100000 && x<=200000)
y=100000+(x-100000)*(0.075);
else
{
if (x>200000 && x<=400000)
y=17500+(0.05)*(x-200000);
else
{
if (x>400000 && x<=600000)
y=27500+(x-400000)*(0.03);
else
{
if (x>600000 && x<=1000000)
y=33500+(x-600000)*(0.015);
}}}}}
else
{
y=39500+(x-1000000)*(0.01);
}
printf("%d", y);
return 0;
}
int main()
{
int x,y;
scanf("%d", &x);
if (x>0 && x<=1000000)
{
if (x>0 && x<=100000)
y=(0.1)*x;
else
{
if (x>100000 && x<=200000)
y=100000+(x-100000)*(0.075);
else
{
if (x>200000 && x<=400000)
y=17500+(0.05)*(x-200000);
else
{
if (x>400000 && x<=600000)
y=27500+(x-400000)*(0.03);
else
{
if (x>600000 && x<=1000000)
y=33500+(x-600000)*(0.015);
}}}}}
else
{
y=39500+(x-1000000)*(0.01);
}
printf("%d", y);
return 0;
}
(2)switch:
#include<stdio.h>
int main()
{
int x, z, y;
scanf("%d", &x);
z=x/100000;
switch (z)
{
case 0:
y=0.1*x; break;
case 1:
y=10000+(x-100000)*0.075; break;
case 2:
y=17500+(x-200000)*0.05; break;
case 3:
y=17500+(x-200000)*0.05; break;
case 4:
y=27500+(x-40000)*0.03; break;
case 5:
y=27500+(x-40000)*0.03; break;
case 6:
y=33500+(x-600000)*0.015; break;
case 7:
y=33500+(x-600000)*0.015; break;
case 8:
y=33500+(x-600000)*0.015; break;
case 9:
y=33500+(x-600000)*0.015; break;
case 10:
y=39500+(x-1000000)*0.01; break;
default :
y=39500+(x-1000000)*0.01; break;
}
printf("%d", y);
return 0;
}
int main()
{
int x, z, y;
scanf("%d", &x);
z=x/100000;
switch (z)
{
case 0:
y=0.1*x; break;
case 1:
y=10000+(x-100000)*0.075; break;
case 2:
y=17500+(x-200000)*0.05; break;
case 3:
y=17500+(x-200000)*0.05; break;
case 4:
y=27500+(x-40000)*0.03; break;
case 5:
y=27500+(x-40000)*0.03; break;
case 6:
y=33500+(x-600000)*0.015; break;
case 7:
y=33500+(x-600000)*0.015; break;
case 8:
y=33500+(x-600000)*0.015; break;
case 9:
y=33500+(x-600000)*0.015; break;
case 10:
y=39500+(x-1000000)*0.01; break;
default :
y=39500+(x-1000000)*0.01; break;
}
printf("%d", y);
return 0;
}
总 结:
这是第七周最后一道题,更考验细心。我本来是只想用一种
方法来做,但出现了错误,我本以为是做法问题,便又尝试
了另一种做法,结果还是无法运行。最后终于找到是符号问题
。于是我便上传了两种做法。果然错误是最好的老师。
1 0
- 第七周 OJ总结<6>-求奖金总数
- 第七周 OJ求奖金总数
- 第七周 oj 1030 求奖金总数
- 第七周(1)求奖金总数
- 第七周oj 求奖金
- 第十九周oj刷题:求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- 求奖金总数
- C语言OJ项目参考(1030)求奖金总数
- oj-7-F-奖金总数
- python之numpy.power()数组元素求n次方
- 第2.1.3章 WEB系统最佳实践Spring文件配置之spring-dao.xml
- Spring Boot 事务的使用
- STL容器总结之deque
- 怎样Linux下修复U盘驱动器
- 第七周 OJ总结<6>-求奖金总数
- STL容器总结之list
- Linux设备驱动--系统调用
- 机器学习——决策树算法原理及案例
- HDU2217Visit
- STL容器总结之stack和queue
- PAT乙级1018
- 织梦模版制作流程
- STL容器总结之Vector