c语言题目:牛牛带着n 元钱去超市买东西,超市一共只有两款商品,价格为a元的篮球和价格为 b 元的足球,牛牛想把手里的钱尽可能花光,请问牛牛最少能剩多少钱? 输入描述:输入一行,三个正整数 n,a,b...

在这道题中,我们可以使用以下的 C 语言代码来解决这个问题:

#include <stdio.h>

int main() { int n, a, b;

// 输入 n, a, b 的值
scanf("%d %d %d", &n, &a, &b);

// 计算能购买的最多篮球数量
int num_basketball = n / a;

// 计算剩余的钱数
int remaining_money = n % a;

// 计算剩余的钱能够购买的最多足球数量
int num_football = remaining_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据您的问题,以下是一个解决方案: ```c #include <stdio.h> #include <stdlib.h> int main() { int n, a, b; scanf("%d%d%d", &n, &a, &b); // n为牛牛带数,a为篮球价格,b为足球价格 int max_balls = n / ((a > b) ? a : b); // 可以到的最多篮球足球数量 int money_left = n - max_balls * ((a > b) ? a : b); // 余的数 if (a == b) { // 如果篮球足球价格相同,直接输出余的数 printf("%d", money_left); } else { // 计算最少余的数 int min_left_money = money_left < (n - (max_balls - 1) * ((a < b) ? a : b)) ? money_left : (n - (max_balls - 1) * ((a < b) ? a : b)); printf("%d", min_left_money); } return 0; } ``` 解释一下代码逻辑: 首先读入牛牛带数、篮球价格足球价格。接着,计算出牛牛可以到的最多篮球足球数量,这个数量是通过将牛牛数除以篮球足球价格中的较大值得到的。然后,计算出牛牛用这些最多可以到多少商品,并计算出余的数。在余的数计算中,我们选择篮球足球价格更高的那个,以保证用尽数。 接下来,我们需要分两种情况讨论: 1. 如果篮球足球价格相同,那么牛牛无论怎样都只能到一种商品余的数就是用来支付不够一件商品数。 2. 如果篮球足球价格不同,牛牛可以选择更便宜的商品尽可能多地购商品。因此,我们需要计算出两种情况下余的数,即不任何东西的情况下余的数和花完到的最少数量的商品余的数。然后,取这两种情况下的数的最小值即可。 最后,输出最少余的数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值