tax

#include <stdio.h>
#include <stdlib.h>

int count(int sal, int tax, float per);
int magic_num(int sum);

int main(int argc, char *argv[])
{
    int sal = 0, tax = 0;
    float per = 0.0;
    printf("input para numer: %d\n", argc);
    if(argc == 4)
    {
        sal = atoi(argv[1]);
        tax = atoi(argv[2]);
        per = atoi(argv[3]) / 100.0;
    }
    else
    {
        printf("please input sal, tax, per");
        return 1;
    }
    printf("input sal=%d, tax=%d, per=%3f\n", sal, tax, per);

    count(sal, tax, per);

    return 0;
}

int count(int sal, int tax, float per)
{
    int i = 0, sum = 0, j = 0;
    float real_tax[13] = {0};
    float tax_total[13] = {0};

    int base = sal - 5000 - tax - sal * per;
    if(base <= 0)
    {
        printf("dont need count salay");
        return 0;
    }

    float history = 0.0;
    for(i = 1; i < 13; i++)
    {
        tax_total[i] = magic_num(base * i);
        real_tax[i] = tax_total[i] - history;
        printf("第%d个月实际税额: %3f\n", i, real_tax[i]);
        
        history = history + real_tax[i];
    }
    printf("all year: %3f\n", history);

    return 0;
}

int magic_num(int sum)
{
    if (sum <= 36000)
    {
        return sum * 0.03 - 0;
    }
    else if (36000 < sum && sum <= 144000)
    {
        return sum * 0.1 - 2520;
    }
    else if (144000 < sum && sum <= 300000)
    {
        return sum * 0.2 - 16920;
    }
    else if (300000 < sum && sum <= 420000)
    {
        return sum * 0.25 - 31920;
    }
    else if (420000 < sum && sum <= 660000)
    {
        return sum * 0.3 - 52920;
    }
    else if (660000 < sum && sum <= 960000)
    {
        return sum * 0.35 - 85920;
    }
    else if (960000 < sum)
    {
        return sum * 0.45 - 181920;
    }

    return 0;
}

  

posted on 2022-05-24 11:29  jueshiwuming  阅读(225)  评论(0)    收藏  举报

导航