首页 > 代码库 > 计算1995年美国个人所得税

计算1995年美国个人所得税

《C和指针》第8章编程练习第2题:

 1 /* 2 ** 计算1995年美国公民的个人收入所得税 3 */ 4  5 #include <stdio.h> 6 #include <float.h> // 该头文件中包含double类型能表示的最大的数DBL_MAX 7  8 double single_tax( double income ); 9 10 /*11 ** 将表格中划分的区间存在数组中12 */13 static double const income_limit[] = { 0, 23350, 56550, 117950, 256500, DBL_MAX };14 static double const   base_tax[] = { 0, 3502.5, 12798.5, 31832.5, 81710.5 };15 static double const percentage[] = { 0.15, 0.28, 0.31, 0.36, 0.396 };16 17 int main()18 {19     double income;20     scanf( "%lf", & income );21     printf( "%lf", single_tax( income ) );22     23     return 0;24 }25 26 /*27 ** 函数,计算相应收入对应上交的税额28 ** 题目中函数原型的数据类型为float,但测试中发现float不够精确29 */30 double 31 single_tax( double income )32 {33     int range;34     double tax;35     36     /*37     ** 获取税额对应的计算区间38     */39     for( range = 1; income > income_limit[ range ]; ++ range )40         ;41     range --;42     43     /*44     ** 税额计算公式45     */46     tax = base_tax[ range ] + ( income - income_limit[ range ] ) * percentage[ range ];47     48     return tax;49 }

 

计算1995年美国个人所得税