分析: 所有s如果小于1000的话,那么s / 1000的话,肯定是0,那么他应该位于0分之中, 同理如果s位于[1000,2000)区间的话,那么s / 1000,肯定是1,那么他就位于1分之中。
。。。 我的答案是: // s是输入参数(税前工资),也是输出参数(税后工资) // tax是输出参数,表示
纳税款 void calculate_salary_tax(double *s, double *tax) { ? ?int level = (int)(*s) / 1000; //注意了/只能对整数进行取整 ? ?double p; ? ?switch (level) ? ? { ? ?case 0: ? ? ? ?p = 0。
0; ? ? ? ?break; ? ?case 1: ? ? ? ?p = 0。05; ? ? ? ?break; ? ?case 2: ? ?case 3: ? ?case 4: ? ? ? ?p = 0。
08; ? ? ? ?break; ? ?case 5: ? ?case 6: ? ?case 7: ? ? ? ?p = 0。 15; ? ? ? ?break; ? ?default: ? ? ? ?p = 0。
2; ? ? ? ?break; ? ? ? ? ? ?} ? ?*tax = (*s) * p; ? ?*s = (*s) - (*tax); }。