工资纳税额编程怎么写

时间:2025-01-23 17:50:36 游戏攻略

```c

include

int main() {

float before_tax, after_tax, tax;

const float TAX_FREE_THRESHOLD = 5000.0;

const float TAX_RATE_1 = 0.03;

const float TAX_RATE_2 = 0.10;

const float TAX_RATE_3 = 0.20;

const float TAX_RATE_4 = 0.25;

const float TAX_RATE_5 = 0.30;

const float TAX_RATE_6 = 0.35;

const float TAX_RATE_7 = 0.40;

const float TAX_RATE_8 = 0.45;

const float SPEEDY_DEDUCTION = 2500.0;

printf("请输入您的工资总额: ");

scanf("%f", &before_tax);

if (before_tax <= TAX_FREE_THRESHOLD) {

after_tax = before_tax;

tax = 0;

} else {

tax = (before_tax - TAX_FREE_THRESHOLD) * TAX_RATE_1;

if (before_tax > 35000) {

tax += (before_tax - 35000) * TAX_RATE_2;

if (before_tax > 55000) {

tax += (before_tax - 55000) * TAX_RATE_3;

if (before_tax > 80000) {

tax += (before_tax - 80000) * TAX_RATE_4;

if (before_tax > 100000) {

tax += (before_tax - 100000) * TAX_RATE_5;

if (before_tax > 125000) {

tax += (before_tax - 125000) * TAX_RATE_6;

if (before_tax > 150000) {

tax += (before_tax - 150000) * TAX_RATE_7;

if (before_tax > 180000) {

tax += (before_tax - 180000) * TAX_RATE_8;

}

}

}

}

}

}

}

}

after_tax = before_tax - tax;

printf("您的工资总额是: %.2f\n", before_tax);

printf("您需要缴纳的税额是: %.2f\n", tax);

printf("您的税后工资是: %.2f\n", after_tax);

return 0;

}

```

代码说明:

常量定义 :定义了免税额度、各税率和速算扣除数。

用户输入:

提示用户输入工资总额。

税额计算

如果工资总额不超过免税额度,税额为0,税后工资等于工资总额。

否则,根据工资总额超过免税额度的部分,逐级计算税额。

输出结果:

输出工资总额、税额和税后工资。

建议:

该程序适用于个人所得税的计算,但实际应用中可能需要考虑更多的扣除项,如专项附加扣除、依法确定的其他扣除等。

可以根据最新的个人所得税法调整税率和速算扣除数。

程序中使用了多个`if`语句来处理不同的工资范围,可以根据需要优化为更简洁的结构,例如使用查找表或函数来提高代码的可读性和可维护性。