如何用C++;? 我需要编写并执行C++中的一个程序,计算表达式的值:

如何用C++;? 我需要编写并执行C++中的一个程序,计算表达式的值:,c++,math,expression,algebra,arithmetic-expressions,C++,Math,Expression,Algebra,Arithmetic Expressions,5x^2+12y/3x,其中x=12,y=9.8 这就是我所拥有的: int num1 = 12; float num2 = 9.8; float totalResult; totalResult = 5 * num1 * num2 + 12 * num2 / 3 * num1; cout << totalResult; int num1=12;浮点数m2=9.8;浮动总结果; totalResult=5*num1*num2+12*num2/3*num1; cout您的问题是操作

5x^2+12y/3x,其中x=12,y=9.8

这就是我所拥有的:

int num1 = 12; float num2 = 9.8; float totalResult;
totalResult = 5 * num1 * num2 + 12 * num2 / 3 * num1;

cout << totalResult;
int num1=12;浮点数m2=9.8;浮动总结果;
totalResult=5*num1*num2+12*num2/3*num1;

cout您的问题是操作顺序(以及键入
num1*num2

您建议的正确答案是23.2667,只有当您将
/
解释为最后一个操作时,才有可能。要强制最后进行除法,请将左侧和右侧放在括号中:

totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);
这样,它将按以下顺序执行:

                 1      2      4    3       6    5
totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);
                1      2      6    3      4   5
totalResult = 5 * num1 * num1 + 12 * num2 / 3 * num1;
否则,它将按以下顺序执行:

                 1      2      4    3       6    5
totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);
                1      2      6    3      4   5
totalResult = 5 * num1 * num1 + 12 * num2 / 3 * num1;
下面是JavaScript的一个证明:

var num1=12;var num2=9.8;
var totalResult=(5*num1*num1+12*num2)/(3*num1);

console.log(totalResult)
对于一个高效的算法,手工计算,然后让它返回答案。@RamandeepPunia我已经在问题中包含了我的代码。你能看一下吗?@4卡斯特我试试看,谢谢。如果你想看的话,我已经在问题中加入了我的代码。我想你需要上数学课。答案应该是723.2667,你的一小段数据中确实有错误code@RamandeepPunia不,答案是23.2667。我的工作是制作一个小程序,计算上面的表达式的值。显然,我的代码中有某种数学错误。这就是我想弄明白的。应该是
5*num1*num1
而不是
num2
@RamandeepPunia谢谢,我在测试JavaScript版本时看到了这一点。我感谢您的反馈!我知道这是一个与运算符优先级或类似性质的问题。感谢您提供操作员优先参考链接。我会花些时间读它。再次感谢你抽出时间回答我的问题。当心!