注册 登录
编程论坛 C语言论坛

作业课后题不太懂大佬能看看吗

西瓜瓤 发布于 2022-11-05 22:37, 596 次点击
允许用户键入个人年收入(使用fgets和atoi),然后根据下表使用if-else语句打印收入组
只有本站会员才能查看附件,请 登录

年收入低于0是不可能的。如果输入值低于0,请打印错误信息。然后,按下表计算个人所得税
只有本站会员才能查看附件,请 登录

请注意这是边际税率。这意味着,如果所得为250,000,则应按(10-2万)×10%计算所得税+ (200,000-100,000)*20% + (250,000-200,000)*30%
1 回复
#2
rjsp2022-11-06 22:06
大体框架如下(数字可能有错,没检查过)(“使用fgets和atoi”则不知所云)

程序代码:
#include <stdio.h>

int main( void )
{
    int income;
    if( scanf("%d",&income) != 1 )
    {
        puts( "输入非整型" );
        return 1;
    }

    if( income < 0 )
    {
        puts( "收入为负" );
        return 0;
    }

    const char* group;
    double tax;
    if( income <= 20000 )
    {
        group = "Low";
        tax = 0;
    }
    else if( income <= 100000 )
    {
        group = "Lower-middle";
        tax = (income-20000)*0.1;
    }
    else if( income <= 200000 )
    {
        group = "Upper-middle";
        tax = (100000-20000)*0.1 + (income-100000)*0.2;
    }
    else
    {
        group = "High";
        tax = (100000-20000)*0.1 + (200000-100000)*0.2 + (income-200000)*0.3;
    }
    printf( "Income group: %s\n", group );
    printf( "Income tax: %.2f\n", tax );
}
1