我需要有关此代码的帮助。 代码的目的是将第一个数字乘以第二个数字,将第二个数字乘以第三个数字(按功率)
这样的事情1 * 2 ^ 3
我有一个正常工作的代码,但它没有给我我的结果
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a, b, c, d;
// Request three numbers from the user
cout << "Please provide three numbers\n";
cout << "First Number: ";
cin >> a;
cout << "Second Number: ";
cin >> b;
cout << "Third Number: ";
cin >> c;
// Multiply the numbers and display the result
d = a * b^c; pow(b, c);
cout << "\n" << a << " * " << b << " ^ " << c << "=" << d << "\n\n";
return 0;
}
答案 0 :(得分:2)
使用pow(b,c)代替b ^ c。在c ++中,^用于XOR二进制操作。如果你真的想使用^表示法,你可以编写一些操作符重载,它会在后台调用pow,但会被抽象为^,但这是附加的代码。
答案 1 :(得分:1)
^
不是电力运营商。您只需要a * pow(b, c)
。
答案 2 :(得分:1)
你的算术不正确,你使用逐位运算符( ^ )来表示与权力无关的东西
改为使用:
// Multiply the numbers and display the result
d = a * pow(b, c);
所以
a = 2 b = 3 c = 2
你可以做到
2 * 3 ^ 2 - &gt; 2 * 9 = 18
答案 3 :(得分:1)
代码:
d = a * b^c;
不正确。 ^运算符是独占的或(参见http://www.cplusplus.com/doc/tutorial/operators/)。你应该改用它:
d = a * pow( b, c );
祝你好运!
答案 4 :(得分:0)
将d = a * b^c; pow(b, c);
替换为d = a * pow(b, c);
,因为^运算符并不代表c ++中的幂。