打折优惠

        商场周末大优惠,规定凡购物超过100元时,超过100元那部分便可打9折。小雄同妈妈一起购买了一大批物品,你能帮他算出最终的应付款吗?

输入一个整数N,表示物品的个数。 第二行N个空格隔开的整数,表示N件物品要付的钱。

输出最终的应付款。(保留两位小数)

代码来了:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    double p=0,x;
    cin>>a;
    for(int i=1;i<=a;i++){
        cin>>x;
        p+=x;
    }
    if(p<=100) printf("%.2f",p);
    else if(p>100) printf("%.2f",(p-100)*0.9+100);
    return 0;
}

p表示最终的总价,p+=x(第9行)为计算总价的过程。p小于100则直接输出p;p大于100则对超过100的部分打九折。(注意超过100的部分要乘0.9也就是打九折,最后还要加上刚才减去的100。

运行结果:


输入

5
10 20 30 15 10

输出

85.00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于计算请假时长,除去节假日和周末的情况,可以按照以下步骤进行计算: 1. 首先,确定请假的起始日期和结束日期。 2. 使用Java中的日期类(如java.util.Date或java.time.LocalDate)来表示日期。 3. 使用Calendar类或LocalDate类来处理日期的加减运算和判断是否为周末。 4. 遍历请假期间的每一天,判断是否为周末或节假日,如果是则跳过计算。 5. 计算剩余的有效请假天数。 以下是一个简单的示例代码,用于计算请假时长并排除节假日和周末: ```java import java.time.DayOfWeek; import java.time.LocalDate; public class LeaveCalculator { public static void main(String[] args) { LocalDate startDate = LocalDate.of(2022, 9, 1); LocalDate endDate = LocalDate.of(2022, 9, 10); int leaveDays = calculateLeaveDays(startDate, endDate); System.out.println("有效请假天数:" + leaveDays); } public static int calculateLeaveDays(LocalDate startDate, LocalDate endDate) { int leaveDays = 0; LocalDate currentDate = startDate; while (currentDate.isBefore(endDate) || currentDate.isEqual(endDate)) { if (currentDate.getDayOfWeek() != DayOfWeek.SATURDAY && currentDate.getDayOfWeek() != DayOfWeek.SUNDAY) { // 判断是否为节假日,如果是则跳过计算 if (!isHoliday(currentDate)) { leaveDays++; } } currentDate = currentDate.plusDays(1); } return leaveDays; } public static boolean isHoliday(LocalDate date) { // 判断是否为节假日的逻辑,根据实际情况进行实现 // 如果需要判断多个节假日,可以使用switch语句或if-else语句来判断 // 返回true表示是节假日,返回false表示不是节假日 return false; } } ``` 上述代码中,我们使用`calculateLeaveDays`方法来计算有效请假天数,通过遍历请假期间的每一天,并根据周末和节假日的判断来累计有效请假天数。`isHoliday`方法用于判断是否为节假日,您可以根据实际情况来实现该方法。 希望这个示例能对您有所帮助!如有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值