2007年9月4日 星期二

小考二(A) 解答


/* C Programming Quiz 2A */
/*
小考二題目:我國綜合所得稅的課徵方式採採累進稅率制,稅率表如下
所得淨額 稅率
-----------------------------------
0 to 370,000------------( 6%)
370,001 to 990,000------(13%)
990,001 to 1,980,000----(21%)
1,980,001 to 3,720,000--(30%)
3,270,001 to -─ -------(40%)
-----------------------------------
例如:所得淨額為1,000,000元時,扣稅金額為
370,000*0.06 + (990,000-370,000)*0.13 + (1,000,000-990,000)*0.21 = 104,900 元。
也就是,所得淨額在不同的金額範圍,稅率不同,上面的例子所得淨額為一百萬,所以
有三個不同範圍稅額要加起來,請寫一個程式計算扣稅金額。
輸入值:所得淨額 (0 - 5,000,000之間)。
輸出值:扣稅金額。
*/
#include
#include

int main(void)
{
float income; /* 所得淨額 */
float tax; /* 扣稅金額 */

printf("輸入所得淨額 -->");
scanf("%f", &income);

/* 你的程式從這裡開始 */
if(income > 0 && income <= 370000)
tax = income * 0.06;
if(income > 370000 && income <= 990000)
tax = 370000 * 0.06 + (income - 370000) * 0.13;
if(income > 990000 && income <= 1980000)
tax = 370000 * 0.06 + (990000 - 370000) * 0.13 + (income - 990000) * 0.21;
if(income > 1980000 && income <= 3720000)
tax = 370000 * 0.06 + (990000 - 370000) * 0.13 + (1980000 - 990000) * 0.21 + (income - 1980000) * 0.3;
if(income > 3720000)
tax = 370000 * 0.06 + (990000 - 370000) * 0.13 + (1980000 - 990000) * 0.21 + (3720000 - 1980000) * 0.3 + (income - 3720000) * 0.4;


printf("扣稅金額為 %.0f 元\n", tax);
system("pause");
return 0;
}


小考二(A)題目
返回小考目錄
回到首頁

4 則留言:

網路路人丙 提到...

所得淨額 沒有限定範圍!大於5000000的話會跑到第5個if去執行!!

David Kuo 提到...

您好,題目意思只是說明測試值的範圍在0 - 5,000,000 之間,並不是規定只能計算在這範圍之內的扣稅金額。

網路路人丙 提到...

輸入值:所得淨額 (0 - 5,000,000之間)。
他題目要求"輸入"範圍,意思是要列入考慮範圍,若只是參考,不列入計算,那他未何要加入條件?

David Kuo 提到...

您好,意思是測試範圍不會超過整數(int)範圍,如果超出 long long int 的範圍,這題就會是一題大數處理的問題。
其實要不要多寫一個 if 判斷句判斷所得淨額是否在 0 - 5,000,000 之間都是可以的,因為所得淨額已經有範圍了。