yangzhixiaohuli 发表于 2023-12-20 18:54:40

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

某商店开展买一送一活动,购买两件商品时,只需支付价格较高的商品的金额。要求程序在输入两个商品的价格后,输出所应支付的金额,请根据裁判程序编写函数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++怎么做

FishC 发表于 2023-12-20 18:54:50

首先,我们需要编写一个函数cut来计算所应支付的金额。根据题目要求,我们只需比较两个价格的大小,将较高的价格返回即可。

下面是代码的实现:

float cut(float a, float b) {
    if (a > b) {
      return a;// 返回较高的价格
    } else {
      return b;
    }
}

int main() {
    float a, b;
    cin >> a >> b;
    float price = cut(a, b);
    cout << price << endl;

    return 0;
}

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

sfqxx 发表于 2023-12-20 19:02:06

这个问题的要求是编写一个函数cut,这个函数的作用是将两个价格中较低的改为0,即“买一送一”的效果。进一步理解题意后即可实现这个函数。具体的解决方案如下:

#include <iostream>
using namespace std;
//请在此处添加代码
void cut(float& a, float& b) {
    if(a > b) {
      b = 0;
    } else {
      a = 0;
    }
}
int main(){
    float a,b;
    cin>>a>>b;
    cut(a,b);
    cout<<"to pay:"<<a+b<<endl;   
    return 0;
}
上述代码中,cut函数接收两个float类型的引用作为参数,并将其中较小的值改为0。传参使用引用的原因在于:如果不使用引用,a和b将是函数内部的局部变量,其修改不会影响到函数外部的a和b的值,这显然无法满足题目的要求。因此,我们需要通过引用传参,使得函数能够直接修改实参的值。

求最佳答案{:10_254:}{:10_254:}{:10_254:}

中英文泡椒 发表于 2023-12-20 19:07:22

哥们哥们,问问题把标题改一下,这样子容易显得太水了
页: [1]
查看完整版本: 某商店开展买一送一活动,购买两件商品时,只需支付价格较高的商品的金额。