Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2352708
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:33

程序先判断出这个人的工资在第几级别,用if(x下面就是税率的算法(所得税=各个级别应缴税的垒加)
程序先算出第四级别的税(3200-3000)*20%,注意这时候i=4,由于a[3]=3000,b[4]=0.20,所以算法为y = (x-a[i-1])*b[i];
接下去还要加上三、二、一这几个级别的税,而这几个级别的税都是全额交纳,因此又用了个for循环for(j=i-1;j>=2;j--)
j=i-1,这时候j可以看作是级别,由于第一级别不纳税,所以j>=2
接下去我们看一下算法,以第三级别为例,这时j=3。(3000-1500)%10%
由于a[3]=3000,a[2]=2000,b[3]=0.10,所以y+=(a[j]-a[j-1])*b[j];  由于税要垒加,所以用了+=运算符

最后要说的是将N定义为8,本来只有7个级别,程序在a[N]和b[N]数组前面多加了个0,这样做的好处就不多说了,这是显而易见的。

以上是我的一点见解,还请高手多多指点。
       


--------------------next---------------------

阅读(1001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~