打折了

题目描述

又周末了,小慧童鞋的又想shopping 了,她在商场看中了三款衣服的,但是正好商店在搞活动,满一定额度就打相应的折扣。于是小惠童鞋果断打电话让同寝室的人团购。若消费满200元,可打九折;满300元,可打八折;满500元,可打七折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。
输入
每行输入有六个数,前三个表示每款衣服的价格,后三个表示每款衣服购买的数量!
如果输入了0 0 0 0 0 0就结束
输出
每组测试数据输出有两行,第一行是Case #i:,第二行是输出小惠童鞋要花的钱

分析:

十分简单的代码,我们只需要注意要用double型的。

int main()
{
    double a[6];
    int i;
    i=1;
    while(~scanf("%lf%lf%lf%lf%lf%lf",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5]))
         {
             if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0&&a[5]==0)
                   break;
             if(a[0]*a[3]+a[1]*a[4]+a[2]*a[5]>=500)
                printf("Case #%d:\n%.2lf\n",i,(a[0]*a[3]+a[1]*a[4]+a[2]*a[5])*0.7);
            else
              if(a[0]*a[3]+a[1]*a[4]+a[2]*a[5]>=300)
                 printf("Case #%d:\n%.2lf\n",i,(a[0]*a[3]+a[1]*a[4]+a[2]*a[5])*0.8);
               else
                if(a[0]*a[3]+a[1]*a[4]+a[2]*a[5]>=200)
                   printf("Case #%d:\n%.2lf\n",i,(a[0]*a[3]+a[1]*a[4]+a[2]*a[5])*0.9);
                 else
                   printf("Case #%d:\n%.2lf\n",i,(a[0]*a[3]+a[1]*a[4]+a[2]*a[5]));

             i++;
         }
}

### Matplotlib 中的折线图与打折效果 在 Matplotlib 的折线图绘制过程中,“打折”通常指的是通过调整线条样式或数据点分布,使图表呈现特定的效果。以下是关于此主的一些详细说明: #### 1. **线条样式的自定义** 可以通过设置 `linestyle` 参数来自定义折线图中的线条样式。例如,虚线、点划线等都可以模拟一种“打折”的视觉效果。 ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y1 = [2, 4, 6, 8, 10] plt.plot(x, y1, linestyle='--', label='虚线') # 使用虚线表示“打折” plt.plot(x, y1, linestyle='-.', label='点划线') # 使用点划线表示另一种风格 plt.legend() plt.show() ``` 这种技术可以用来突出某些特殊的数据变化模式[^1]。 --- #### 2. **数据点的分段显示** 如果希望在折线图中体现某种“打折”逻辑,则可以在数据集中引入间断点或者人为分割数据序列。这可以通过手动控制 X Y 轴上的数据来实现。 ```python import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y1 = [2, None, 6, None, 10] # 在第2第4位置插入None以打断连线 plt.plot(x, y1, marker='o', label='带间断的折线') plt.legend() plt.show() ``` 这里利用了 Python 的 `None` 来中断连接,从而形成类似“打折”的效果[^3]。 --- #### 3. **平滑化处理后的打折效果** 对于更复杂的场景,可能需要先对原始数据进行插值平滑处理后再应用“打折”。这种方法尤其适用于非均匀采样的时间序列或其他复杂数据集。 ```python from scipy.interpolate import make_interp_spline import numpy as np import matplotlib.pyplot as plt x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 6, 8, 10]) # 插值并增加中间点密度 model = make_interp_spline(x, y) xs = np.linspace(1, 5, 50) ys = model(xs) # 断某一段区域 mask = (xs >= 2) & (xs <= 3) ys[mask] *= 0.7 # 对指定区间内的数值乘以系数制造“打折” plt.plot(xs, ys, label="带有打折区间的平滑曲线") plt.legend() plt.show() ``` 上述代码片段展示了如何通过对部分数据施加变换来达到特殊的视觉效果[^5]。 --- #### 4. **限定坐标轴范围增强表现力** 适当缩小或放大坐标轴范围也可以间接营造出“打折”的感觉。比如当两组数据差异较大时,合理设定 `ylim()` 可强调局部波动特征。 ```python import matplotlib.pyplot as plt name = range(1, 6) value = [90, 95, 92, 94, 93] plt.plot(name, value) plt.ylim([80, 100]) # 放大Y轴比例凸显细微差别 plt.show() ``` 这种方式有助于聚焦于重要细节而不被全局趋势掩盖[^2]。 --- ### 总结 以上方法分别从线条属性定制、数据结构设计以及视图优化三个角度探讨了如何借助 Matplotlib 实现具有“打折”特性的折线图展示形式。无论是简单的样式更改还是深入的数据加工,都能满足多样化的可视化需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值