首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言條件控制語句(二):if...else if 多重選擇結構詳解

     編輯:C 語言基礎

if...else if 多重選擇結構

在實際程式設計中,我們經常面臨不只兩種選擇的情況。此時可以將 if...else 擴展為 if...else if 結構,其一般形式如下:

if (表達式1) 
    語句1; 
else if (表達式2) 
    語句2; 
else if (表達式3) 
    語句3; 
else 
    語句4;

對應的流程圖展示了依序判斷各條件,一旦某條件為真即執行對應語句並跳出結構。

範例:貨物分級征稅計算

問題描述: 貨物價格在 1 萬元以上課徵 5%,5000 元以上 1 萬元以下課徵 3%,1000 元以上 5000 元以下課徵 2%,1000 元以下免稅。輸入貨物價格,計算並輸出稅金。

分析: 這是一個較複雜的分支結構程式設計,需注意避免重複課稅。假設貨物價格在 1 萬元以上,課稅應分段累計,各段採用不同稅率。

演算法:

  • 若 price >= 10000,則 tax = 0.05 * (price - 10000);price = 10000;
  • 否則,若 price >= 5000,則 tax = 0.03 * (price - 5000) + tax;price = 5000;
  • 否則,若 price >= 1000,則 tax = 0.02 * (price - 1000) + tax;price = 1000;

程式碼實作

#include <stdio.h>

int main() {
    float price, tax = 0;
    printf("input price: ");
    scanf("%f", &price);
    
    if (price >= 10000.0) {
        tax = 0.05 * (price - 10000) + tax;
        price = 10000;
    }
    if (price >= 5000.0) {
        tax = 0.03 * (price - 5000) + tax;
        price = 5000;
    }
    if (price >= 1000.00) {
        tax = 0.02 * (price - 1000) + tax;
    }
    printf("thetax=%10.3f", tax);
    return 0;
}

執行結果

RUN
15000
thetax=480.000

輸入 15000,稅金計算為:(15000-10000)*0.05 + (10000-5000)*0.03 + (5000-1000)*0.02 = 250 + 150 + 80 = 480。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved