我需要用C ++编写和执行一个程序来计算表达式的值:
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;
答案是23.2667,但我得到了错误的结果。
答案 0 :(得分:4)
您的问题是操作顺序(以及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;
以下是JavaScript的证明:
var num1 = 12; var num2 = 9.8;
var totalResult = (5 * num1 * num1 + 12 * num2) / (3 * num1);
console.log(totalResult);
&#13;