M0006 分段优惠
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了M0006 分段优惠相关的知识,希望对你有一定的参考价值。
问题描述
网上书店经常进行优惠购书活动,一般采用分段优惠。某次活动规定为:每满100减30,每满200减70,每满300减120,每满500减250。
各种优惠可以混用,计算给定购买金额下的最少付款金额。
输入
若干个整数,每行一个整数,每个整数表示购买金额。
输出
对应的付款金额,每个金额输出一行。
输入样例
601
1350
输出样例
321
730
问题分析
一般而言,金额越高优惠力度越大,本题也是如此。
因此,从优惠金额大的优惠先算起。
本题应该有更为通用的解题程序。
解题C语言程序如下:
/* M0006 分段优惠 */
#include <stdio.h>
int main()
int n;
while (~scanf("%d", &n))
int t = n, discnt = 0;
while (t >= 500)
discnt += 250, t -= 500;
if (t >= 300)
discnt += 120, t -= 300;
if (t >= 200)
discnt += 70, t -= 200;
if (t >= 100)
discnt += 30;
printf ("%d\\n", n - discnt);
return 0;
以上是关于M0006 分段优惠的主要内容,如果未能解决你的问题,请参考以下文章