Das ist gut.
今年9月认证的编程题不算是很难,但是,对基础不够巩固的同学是一个考验;
1.商店折扣
【题目描述】:
“商店正在开展促销活动,给出了两种⽅案的折扣优惠。第⼀种⽅案是购物满x元减y 元;第⼆种⽅案是直接打n折,也就是说价格变为原先的n分之十 。这⾥的x,y,n 均是正整数,并且1≤y<x ,1≤n<10。
需要注意的是,第⼀种⽅案中满减优惠只能使⽤⼀次。例如购物满10 元减3 元时,若挑选了价格总和为33 元的物品,只能减免3元,需要⽀付30元。
⼩明在商店挑选了价格总和为p元的物品,结账时只能使⽤⼀种优惠⽅案。⼩明最少需要⽀付多少钱呢?”
【输入】:
四⾏,四个正整数 x,y,n,p,含义见题⽬描述。
【输出】:⼀⾏,⼀个⼩数,表⽰⼩明最少需要⽀付多少钱,保留两位⼩数。
【输入样例】
8 7 2 11
【输出样例】
2.20
解这道题需要明确两种折扣的具体规则,把两种方案分别算出相应的金额,再取较小值即可;
示例代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y,n,p;
cin>>x>>y>>n>>p;
double p1=p;//方案一
if(p>=x) p1=p-y;//当商品价格大于活动减免金额时,使用方案一(只是用一次)
double p2=p*(n/10.0);//方案二:打n折;(10要变小数,懂得都懂)
double s=min(p1,p2);//求出并储存p1、p2的最小值
printf("%.2lf",s);//输出最小值
return 0;
}
第二题呢?且听下回分解!






