| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1041 人关注过本帖
标题:请用switch语句编写下这个程序,我想了很久还事搞不懂啊!
只看楼主 加入收藏
z17r2
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-11-7
收藏
 问题点数:0 回复次数:3 
请用switch语句编写下这个程序,我想了很久还事搞不懂啊!
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
这个是我自己写的,有什么地方错误请大家指出来!
#include<stdio.h>
void main()
{
 float i,a,b;
 scanf("%f",&i);
 if(i>1000000)
 a=0.015*1000000+(i-1000000)*0.01;
 else
 if(i<=100000)
 a=0.1*i;
 else
 b=i/100000;
 switch(b)
 {
  case 1:
  case 2: a=0.1*100000+(i-100000)*0.075;break;
  case 3:
  case 4: a=0.075*200000+(i-200000)*0.05;break;
  case 5:
  case 6: a=0.05*400000+(i-400000)*0.03;break;
  case 7:
  case 8:
  case 9:
  case 10: a=0.03*600000+(i-600000)0.015;break;
  }
  printf("bonus=%f",a);
}
搜索更多相关主题的帖子: switch 语句 编写 
2008-11-25 21:16
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
帮你改了下,没错了:

#include<stdio.h>
void main()
{
 double  i,a;
 int b;
scanf("%f",&i);
if(i>1000000)
a=0.015*1000000+(i-1000000)*0.01;
else
if(i<=100000)
a=0.1*i;
else
b=i/100000;
switch(b)
{
  case 1:
  case 2: a=0.1*100000+(i-100000)*0.075;break;
  case 3:
  case 4: a=0.075*200000+(i-200000)*0.05;break;
  case 5:
  case 6: a=0.05*400000+(i-400000)*0.03;break;
  case 7:
  case 8:
  case 9:
  case 10: a=0.03*600000+(i-600000)*0.015;break;
  }
  printf("bonus=%f",a);
}
2008-11-25 21:30
z17r2
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-11-7
收藏
得分:0 
非常感谢
2008-11-25 21:32
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
现在应该能满足LZ要求了

#include<stdio.h>
void main()
{
 double  i,a;
 int b;
scanf("%lf",&i);
b=i/100000;
switch(b)
{
  case 1:
  case 2: a=0.1*i;break;// i<10W
  case 3:
  case 4: a=0.1*100000+(i-100000)*0.075;break;//10W<i<20W
  case 5:
  case 6: a=0.175*100000+(i-200000)*0.05;break;//20W<i<40W
  case 7:
  case 8:a=0.18*100000+(i-400000)*0.05;break;//40W<i<60W
  case 9: a=0.13*100000+(i-600000)*0.015;break;//60W<i<100W
  case 10:a=0.145*100000+(i-1000000)*0.01;break;//100W<i
  }
  printf("bonus=%f",a);
}
2008-11-25 21:43
快速回复:请用switch语句编写下这个程序,我想了很久还事搞不懂啊!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027812 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved