初步11-如何买玫瑰

问题及代码

/* ************************************************
  #
  # Copyright (c)2015,湖南大学信息科学与工程学院
  # Filename:       base_sell_rose.c
  #
  # Author:         陈宇翔
  # Email:          mchenyuxiang@126.com
  # Create:         2015-08-30 14:31:33
  # Last Modified:  2015-08-30 14:41:03
  # version:        v1.0
  #
  # Description:    小慧过生日,小明(小明真忙)要买鲜花送她。
  #                 每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
  # Input:          135 
  # Output:         33
  #************************************************/

#include <stdio.h>

int main()
{
    int money,num;
    printf("请输入小明的金额:\n");
    scanf("%d",&money);
    int num_100,num_25,num_5;
    num_100 = money / 100;
    num_25 = (money - num_100 * 100) / 25;
    num_5 = (money - num_100 * 100 - num_25 * 25) / 5;
    num = num_100 * 25 + num_25 * 6 + num_5;
    printf("%d\n",num);
}

运行结果

这里写图片描述

知识点总结

算术运算符与算术表达式

学习心得

如运行结果,本次程序编译了三次才通过,第一次显示printf函数打错,第二次结果算错,结果算错的原因是在计算钱的余额时没有将已经买过的玫瑰的支数与单价相乘。
本题与老师博客中的代码相比,基本思想一样,利用贪心的基本思想,先从多的买,再一步一步的往下减少。但是,老师博客中的代码更短,更直接,先算出原本可以买多少支,然后再根据支数去加上对应的赠送玫瑰支数。我的是从钱的方面来做的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值