c手记1 【《算法竞赛入门经典第二班》第一章习题:1-5打折】

对于学c我自己有一点经验:学c之前先吧python入门了,因为python中的很多都贯穿在c中——也许会有人问:那么买什么书学python好呢——买一本《笨方法学python》吧。不是打广告,这是对你的忠告,否则你学c时会很吃力的。


习题内容

一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数

习题分析
注意:思考这些算法题要多想一些。
首先,根据题的内容我们可以得知:金额的输出有两种——第一种是小于300元,第二种是大于等于300元。那么由此出发,我们要考虑买多少件衣服才能够小于300元与大于等于300元


我们从计算中得知:符合第一种情况要买小于4件与大于等于1件的衣服数——而第二情况则是大于等于4件的衣服数
字母表达
- 第一种情况:1<=n<4
- 第二种情况:4<=n


知道了单价与数量我们便可以算出总价了(单价数量=总价),但前文我们说过,金额的输出要有两种。这是为何?因为习题说消费满300元要打八五折,也就是:0.85 (95 * 衣服数量)= 打折情况的总金额,而不满300元的总金额便是95 * 衣服数量 = 总金额

此刻注意!!!!

最Y的麻烦的来了!两种情况的衣服数量要变化!前文已给出,小于300元的衣服数量要小于4,大于等于300元的衣服数量要大于等于4
所以,代码中必须要有判断衣服数量的if语句!
所以,代码如下:

#include<stdio.h>
int main()
{
    double y, k;
    int n;
    scanf("%d", &n);
    y = 95*n;
    k = 0.85*y;
    if(n < 4 || 1 <= n) printf("钱数 = %.2f\n", y);      
    if(4 <= n)printf("钱数 = %.2f\n", k);     
    return 0;
}

不懂的可以问我!qq:1693121186——官方qq群:779563507

猜你喜欢

转载自blog.csdn.net/hys_ntxif/article/details/80611122