函数调用两个double参数,并且应该将第一个double乘以第二个double并返回第一个中的乘积。还应该将原来的第一个双倍除以原来的第二个双数并在第二个参数中返回商?
到目前为止我有这个但不确定我是否在正确的路线上......
void mul_div(double &x, double &y)
{
double mul = x * y;
double div = x / y;
x = mul;
y = div;
}
答案 0 :(得分:1)
你还没有走正确的路线。
虽然您将mul
初始化为x * y
,然后使用prod
(仅x
)覆盖其值。你永远不会在任何地方保存x * y
。
除此之外,将void
作为返回类型和两个类型为double
的参数意味着您无法实际返回结果。您需要double &
类型的参数,或者可以包含两个double
值的返回类型。
尽管如此!你到目前为止所做的尝试并不是一个坏迹象,现在看看你是否能理解它为什么还没有发挥作用。
答案 1 :(得分:0)
这应该可以解决问题:
#include <iostream>
void mul_div(double &x, double &y)
{
double mul = x*y;
double div = x/y;
x = mul;
y = div;
}
int main() {
double x = 1.2, y = 3.6;
mul_div(x, y);
std::cout << x << " " << y;
return 0;
}