鱼C论坛

 找回密码
 立即注册
查看: 445|回复: 3

[已解决]某商店开展买一送一活动,购买两件商品时,只需支付价格较高的商品的金额。

[复制链接]
发表于 2023-12-20 18:54:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
某商店开展买一送一活动,购买两件商品时,只需支付价格较高的商品的金额。要求程序在输入两个商品的价格后,输出所应支付的金额,请根据裁判程序编写函数cut,将代码补充完整。

裁判测试程序样例:
#include <iostream>
using namespace std;
//请在此处添加代码
int main(){
    float a,b;
    cin>>a>>b;
    cut(a,b)=0;
    cout<<"to pay:"<<a+b<<endl;   
    return 0;
}

输入样例:
在这里给出一组输入。例如:

239 180
输出样例:
在这里给出相应的输出。例如:

239

这题C++怎么做
最佳答案
2023-12-20 19:02:06
这个问题的要求是编写一个函数cut,这个函数的作用是将两个价格中较低的改为0,即“买一送一”的效果。进一步理解题意后即可实现这个函数。具体的解决方案如下:

  1. #include <iostream>
  2. using namespace std;
  3. //请在此处添加代码
  4. void cut(float& a, float& b) {
  5.     if(a > b) {
  6.         b = 0;
  7.     } else {
  8.         a = 0;
  9.     }
  10. }
  11. int main(){
  12.     float a,b;
  13.     cin>>a>>b;
  14.     cut(a,b);
  15.     cout<<"to pay:"<<a+b<<endl;   
  16.     return 0;
  17. }
复制代码

上述代码中,cut函数接收两个float类型的引用作为参数,并将其中较小的值改为0。传参使用引用的原因在于:如果不使用引用,a和b将是函数内部的局部变量,其修改不会影响到函数外部的a和b的值,这显然无法满足题目的要求。因此,我们需要通过引用传参,使得函数能够直接修改实参的值。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-20 18:54:50 | 显示全部楼层
首先,我们需要编写一个函数cut来计算所应支付的金额。根据题目要求,我们只需比较两个价格的大小,将较高的价格返回即可。

下面是代码的实现:
  1. float cut(float a, float b) {
  2.     if (a > b) {
  3.         return a;  // 返回较高的价格
  4.     } else {
  5.         return b;
  6.     }
  7. }
  8. int main() {
  9.     float a, b;
  10.     cin >> a >> b;
  11.     float price = cut(a, b);
  12.     cout << price << endl;
  13.     return 0;
  14. }
复制代码

在主函数中,我们首先输入两个商品的价格a和b,然后调用cut函数并将其结果保存在变量price中,最后输出price即为所应支付的金额。

希望能帮助到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 19:02:06 | 显示全部楼层    本楼为最佳答案   
这个问题的要求是编写一个函数cut,这个函数的作用是将两个价格中较低的改为0,即“买一送一”的效果。进一步理解题意后即可实现这个函数。具体的解决方案如下:

  1. #include <iostream>
  2. using namespace std;
  3. //请在此处添加代码
  4. void cut(float& a, float& b) {
  5.     if(a > b) {
  6.         b = 0;
  7.     } else {
  8.         a = 0;
  9.     }
  10. }
  11. int main(){
  12.     float a,b;
  13.     cin>>a>>b;
  14.     cut(a,b);
  15.     cout<<"to pay:"<<a+b<<endl;   
  16.     return 0;
  17. }
复制代码

上述代码中,cut函数接收两个float类型的引用作为参数,并将其中较小的值改为0。传参使用引用的原因在于:如果不使用引用,a和b将是函数内部的局部变量,其修改不会影响到函数外部的a和b的值,这显然无法满足题目的要求。因此,我们需要通过引用传参,使得函数能够直接修改实参的值。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-20 19:07:22 | 显示全部楼层
哥们哥们,问问题把标题改一下,这样子容易显得太水了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 05:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表