首页 > 代码库 > C语言 · 企业奖金发放
C语言 · 企业奖金发放
算法提高 企业奖金发放
时间限制:1.0s 内存限制:512.0MB
企业发放的奖金根据利润提成。利润低于或等于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%提成。从键盘输入当月利润,求应发放奖金总数?(保留两位小数)利润的大小在double以内
样例输入
210000
样例输出
18000.00
作者注释:
土办法:
1 #include<stdio.h> 2 #include<string.h> 3 int main(){ 4 double l,j;//l:利润;t:奖金总数。 5 scanf("%lf",&l); 6 if(l<=100000){ 7 j=l*0.1; 8 }else if(l>100000 && l<=200000){ 9 j=100000*0.1+(l-100000)*7.5/100; 10 printf("%.2lf",j); 11 }else if(l>200000 && l<=400000){ 12 j=100000*0.1+100000*7.5/100+(l-200000)*5/100; 13 printf("%.2lf",j); 14 }else if(l>400000 && l<=600000){ 15 j=100000*0.1+100000*7.5/100+200000*5/100+(l-400000)*3/100; 16 printf("%.2lf",j); 17 }else if(l>600000 && l<=1000000){ 18 j=100000*0.1+100000*7.5/100+200000*5/100+200000*3/100+(l-600000)*1.5/100; 19 printf("%.2lf",j); 20 }else if(l>1000000){ 21 j=100000*0.1+100000*7.5/100+200000*5/100+200000*3/100+400000*1.5/100+(l-1000000)*1/100; 22 printf("%.2lf",j); 23 } 24 return 0; 25 }
稍微聪明点的办法:
1 #include<stdio.h> 2 int main() { 3 double a; 4 scanf("%lf",&a); 5 double b = 0; 6 int s[6] = {1000000, 600000, 400000, 200000, 100000, 0}; 7 double t[6] = {0.01, 0.015, 0.03, 0.05, 0.075, 0.1}; 8 for(int i = 0; i < 6; i++) { 9 if(a - s[i] >= 0) { 10 b += (a - s[i]) * t[i]; 11 a = s[i]; 12 } 13 } 14 printf("%.2lf", b); 15 return 0; 16 }
C语言 · 企业奖金发放
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。