1988年United States Federal Tax Schedule 是近期基本的。它分为4类,每类有两个等级,下面是其摘要 :美元数为应征税的收入。 #include <stdio.h> #define RATE1 0.15 //起征金额的百分比 #define RATE2 0.28 //超过起征金额的百分比 #define SINGLE 17850.0 //单身汉 #define HEAD_HOUSE 23900.0 //户主 #define MARR_JOINT 29750.0 //已婚 #define MARR_SEPA 14875.0 //离婚 double TaxCount(double cate,double taxable);//计算税金 int main(void) { double taxable;//应征税金额 double tax; //税金 double categy; // 属于那个类别?(单身汉?户主?已婚?离婚?) int choice = 0; printf("**********-|Your Choices|-***********/n"); printf("1) Single/n"); printf("2) Head of Household/n"); printf("3) Married,Join/n"); printf("4) Married,Separate/n"); printf("5) Quit./n"); printf("*************************************/n"); do { printf("___/b/b/b"); if(1 != scanf("%d",&choice) || choice < 1 || choice > 4) { if(5 == choice) break; printf("Try again!such as 1,2,3,4,5 ./n"); continue; } switch(choice) { case 1: categy = SINGLE;//单身汉 break; case 2: categy = HEAD_HOUSE;//户主 break; case 3: categy = MARR_JOINT;//已婚 break; case 4: categy = MARR_SEPA; //离婚 break; default: break; } printf("Enter Taxable :$________/b/b/b/b/b/b/b"); scanf("%lf",&taxable); tax = TaxCount(categy,taxable); printf("Tax = %.2lf/n",tax); }while(1); system("pause"); return 0; } double TaxCount(double cate,double taxable) { if(taxable <= cate) return (taxable * RATE1); else return (cate * RATE1 + (taxable - cate) * RATE2); }