首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言新手求解:促銷價格計算邏輯實現

     編輯:程式設計疑難解答

題目:輸入 n 組原價 p,分別按兩種促銷規則計算實付金額:

  1. 每 500 減 180,單筆優惠上限 500
  2. 65 折,單筆優惠上限 500

參考實現

int main() {
    int n; scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        int p; scanf("%d", &p);
        int p1 = p - (p / 500 * 180);
        if (p - p1 > 500) p1 = p - 500;          // 封頂
        int p2 = p * 65 / 100;
        if (p - p2 > 500) p2 = p - 500;
        printf("%d %d\n", p1, p2);
    }
    return 0;
}

關鍵點

  • 整數除法 p/500 自動取整,符合「每滿 500」語義
  • 優惠額 p - p1 超 500 時強制封頂
  • p * 65 / 100 先乘後除避免浮點誤差
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved