C语言计算个人所得税
以下是一个用C语言编写的个人所得税计算程序,根据中国2025年的个人所得税计算规则:
#include <stdio.h>
// 计算个人所得税
double calculateTax(double income) {
// 起征点
const double threshold = 5000.0;
// 应纳税所得额
double taxableIncome = income - threshold;
// 如果应纳税所得额小于等于0,则不纳税
if (taxableIncome <= 0) {
return 0.0;
}
// 税率表
struct TaxBracket {
double upperLimit;
double rate;
double quickDeduction;
};
// 2025年中国个人所得税税率表(综合所得)
struct TaxBracket brackets[] = {
{0.0, 0.03, 0.0},
{36000.0, 0.10, 2520.0},
{144000.0, 0.20, 16920.0},
{300000.0, 0.25, 31920.0},
{420000.0, 0.30, 52920.0},
{660000.0, 0.35, 85920.0},
{960000.0, 0.45, 181920.0}
};
// 计算应纳税额
double tax = 0.0;
int bracketCount = sizeof(brackets) / sizeof(brackets[0]);
for (int i = bracketCount - 1; i >= 0; i--) {
if (taxableIncome > brackets[i].upperLimit) {
tax += (taxableIncome - brackets[i].upperLimit) * brackets[i].rate;
taxableIncome = brackets[i].upperLimit;
}
}
return tax;
}
int main() {
double income;
printf("请输入您的月收入(元):");
scanf("%lf", &income);
if (income < 0) {
printf("收入不能为负数!\n");
return 1;
}
double tax = calculateTax(income);
double netIncome = income - tax;
printf("\n个人所得税计算结果:\n");
printf("月收入:%.2f 元\n", income);
printf("应缴个人所得税:%.2f 元\n", tax);
printf("税后收入:%.2f 元\n", netIncome);
return 0;
}
程序说明
-
起征点:中国个人所得税的起征点为5000元/月。
-
税率表:程序使用了2025年中国个人所得税的综合所得税率表,包含7个税率档次。
-
计算逻辑:
- 首先计算应纳税所得额(收入减去起征点)
- 然后根据税率表分段计算应纳税额
- 使用速算扣除数简化计算
-
输入输出:
- 用户输入月收入
- 程序输出应缴税额和税后收入
示例运行
请输入您的月收入(元):20000
个人所得税计算结果:
月收入:20000.00 元
应缴个人所得税:1290.00 元
税后收入:18710.00 元
注意事项
-
此程序计算的是综合所得(工资、薪金所得)的个人所得税,不包括其他类型的收入。
-
实际纳税时还需考虑社保、公积金等专项扣除,以及子女教育、继续教育、大病医疗等专项附加扣除。
-
如果需要更精确的计算,可以修改程序以包含这些扣除项。
-
税率表可能会随政策调整而变化,使用时请确认最新税率。
