《C Primer Plus(第5版)中文版》第7章编程练习第10题

来源:互联网 发布:逍遥问道数据库修改器 编辑:程序博客网 时间:2024/05/11 10:48

  以下是1988年美国个人所得税征税方案:

单身前17850美元按15%, 超出部分按28%户主前23900美元按15%, 超出部分按28%已婚,共有前29750美元按15%, 超出部分按28%已婚,离异前14875美元按15%, 超出部分按28%

        例如,有20 000美元应征税收入的单身雇佣劳动者应缴税金:

               0.15×17 850美元+0.28×(20000美元-17850美元)

     编写一个程序,让用户指定税金种类和应征税收入,然后计算税金。使用循环以便用户可以多次输入。

#include <stdio.h>#include <stdbool.h>int main(void){const float LV1RATE=0.15,LV2RATE=0.28;const float SINGLE=17850;const float HOUSEHOLDER=23900;const float MARRIED=29750;const float DIVORCED=14875;printf("请选择您的情况(输入符合您现状的序号,输入Q退出):\n");printf("1.单身狗\t\t2.上有老下有小\n");printf("3.新婚虐狗狂魔\t\t4.撕证归团好少年\n");printf("Q.老子不玩了\n\n");int ch;double lv1,salary,tax;bool inputBad;while(inputBad=false,printf("\n请按您的情况输入序号:"),(ch=getchar())!='Q'&&ch!='q'){switch(ch){case '1':lv1=SINGLE;break;case '2':lv1=HOUSEHOLDER;break;case '3':lv1=MARRIED;break;case '4':lv1=DIVORCED;break;default:{printf("输入有误,请重新输入.\n");while(getchar()!='\n');inputBad=true;break;}}if(inputBad)continue;while(getchar()!='\n');while(printf("\n请输入您的税前收入:")){if(scanf("%Lf",&salary)&&salary>0){if(salary>lv1)tax=lv1*LV1RATE+(salary-lv1)*LV2RATE;elsetax=salary*LV1RATE;while(getchar()!='\n');break;}else{printf("税前收入有误,请重新输入.\n");while(getchar()!='\n');continue;}}printf("\n您需要交税 %.2f 元\n------------------------\n",tax);}return 0;}


0 0
原创粉丝点击