以下為標(biāo)準(zhǔn)解答程序(下文簡稱“標(biāo)程”),請(qǐng)細(xì)心閱讀:
#include <stdio.h>
int main()
{
int n,k,t;
unsigned nBase[]={0,500,2000,5000,20000,
40000,60000,80000,100000,-1};
while(scanf("%d%d", &n, &k), n>0||k>0) //數(shù)據(jù)輸入
{
double sum = 0;
for(n-=k,t=0; (unsigned)n>nBase[t]; ++t)
{
sum += n - nBase[t];
}
printf("%.2lf\n", sum/20.0); //輸出計(jì)算結(jié)果
}
return 0;
}
而事實(shí)上,你可能會(huì)問,是不是那個(gè)稅率等間距遞增才能使用這種方法。
那偶告訴你,其實(shí)不等間距遞增也沒有問題的,甚至遞增和遞減混合也行,
一樣可以使用此辦法化簡得如上僅10行左右代碼,并且可擴(kuò)展性可以很好。
這個(gè)就留給讀者您自己思考一下吧。