使用循环在C++中的指数

Jem*_*eal 2 c++ math loops exponent

我需要一些帮助.我想计算x给定的实数值a和正值整数x.

我的节目:

#include <iostream>
using namespace std;

int main()
{
int a, x;

cout << "Input a: ";
cin  >> a;
cout << "Input x: ";
cin  >> x;

for (int i=0; i<=x; i++)
    a= a*a;
    cout << "The answer is: " << a;
}
Run Code Online (Sandbox Code Playgroud)

tem*_*def 7

看看这个循环:

for (int i=0; i<=x; i++)
    a= a*a;
    cout << "The answer is: " << a;
}
Run Code Online (Sandbox Code Playgroud)

每次你经历这个循环,你自己乘以一个.假设用户输入数字0.然后:

  • 在0次迭代之后,a的值为0.
  • 在1次迭代之后,a的值为0 2
  • 在2次迭代之后,a的值为0 4
  • 经过3次迭代后,a的值为0 8
  • ...

例如,如果a = 2且x = 4,则值将为2,4,16和256,这些值比您希望的大.

要解决这个问题,请尝试更改循环,以便您有一个辅助变量,最初设置为1,并保持乘以a.这样,您不会更改每次迭代乘以的值.

接下来,请注意您的循环运行了太多次.由于你循环到x并包含x,你的循环运行x + 1次,所以如果你想计算x,你将获得错误的值.尝试将其更改为完全循环x次.

最后,print语句在每次迭代时运行,因此您将看到所有中间值.更改代码,以便print语句在循环之外.

完成所有这些后,请查看该pow功能.如果这是一项任务,您可能无法使用此功能,但这是解决此问题的最简单方法.

希望这可以帮助!