今天听到别人讨论工资的事,听到关于利息方面的,让我想起了一个关于利润提成的经典算法,顺便就用C把工资利息算法编了下。

首先税收简单情况如下: computeTax=(应发工资-养老保险-基本医疗保险-住房公积金-费用扣除标准)

如果computeTax<=0 则工资不需要扣税,如果computeTax<=1500扣3%,如果1500<computeTax<=4500超1500部分扣10%,如果4500<computeTax<=9000超4500部分扣20%,如果9000<computeTax<=35000超9000部分扣25%,如果35000<computeTax<=55000超35000部分扣30%,如果55000<computeTax<=80000超55000部分扣35%,如果computer>80000则超80000部分扣45%。

-----很多都定义成了变量,可以自己改变标准值---呵呵-----

main()

{  

long int i;   //输入应发工资变量

double j;    //定义实发工资变量

 int endowment,medical,housing;  //分别定义养老保险、基本医疗保险、住房公积金变量

 int basemoney;             //定义 费用扣除标准 作为扣税标准值

double computeTax;       //定义扣税部分的值

double tax,tax15,tax45,tax90,tax350,tax550,tax800;   //分别定义扣税额以及各部分超额所应扣的税值

printf("please input i:\n");        //首先输入应发工资

 scanf("%ld",&i);         

printf("please input endowment:\n");  scanf("%d",&endowment);    //输入养老保险    ’多次输入有点麻烦,但比较好分辨些

printf("please input medical:\n");   scanf("%d",&medical);   //输入基本医疗保险

printf("please input housing:\n");   scanf("%d",&housing);   //输入住房公积金变量

printf("please input basemoney:\n");   scanf("%d",&basemoney);   //输入 费用扣除标准

computeTax=i-endowment-medical-housing-basemoney;      //计算出超出部分=应发工资-养老保险-医疗保险-住房公积金-费用扣除标准

//以下各个等级的税值计算

tax15=1500*0.03;                        

tax45=tax15+3000*0.1;  

tax90=tax45+4500*0.2;  

tax350=tax90+26000*0.25;  

tax550=tax350+20000*0.3;  

tax800=tax550+25000*0.35;

if(computeTax<=1500)      tax=computeTax*0.03;     

else if(computeTax<=4500)              tax=tax15+(computeTax-1500)*0.1;             

else if(computeTax<=9000)                      tax=tax45+(computeTax-4500)*0.2;          

else if(computeTax<=35000)                           tax=tax90+(computeTax-9000)*0.25;                          

else if(computeTax<=55000)                                   tax=tax350+(computeTax-35000)*0.3;                                  

else if(computeTax<=80000)                                           tax=tax550+(computeTax-55000)*0.35;                                          

else                                                tax=tax800+(computeTax-80000)*0.45;

j=i-endowment-medical-housing-tax;   //实发工资=应发工资-养老保险-医疗保险-住房公积金-税值

printf("you pay is f",j);       //输出实发工资

printf("\tyou tax is tax=%f\n",tax);    //输出税值

 

}

 

 

posted on 2011-12-13 22:53  FindLoad  阅读(1662)  评论(0编辑  收藏  举报