我知道我可能只是做了一些愚蠢的错误,但是我需要从用户那里得到一个数字,创建一个无限循环(通过使我的while语句为真)为2的倍数。我得到了数学乘以数字从用户时间本身,但我不能让它循环。这是我本周作业的最后一部分,我的大脑是油炸的,所以我无法弄清楚我哪里出错了!
任何帮助都会很棒!这就是我所拥有的:
#include <iostream>
using namespace std;
int main (int argc, const char * argv[])
{
int d;
int e;
cin >> d;
while (true)
{
e = d * d;
}
cout << e << ", ";
}
答案 0 :(得分:4)
如上所述,您的代码将永远循环,因此,它永远不会到达那个cout语句。也许你想把cout语句放在循环体内,以便变量被打印出来?
答案 1 :(得分:4)
无法访问的代码位于:cout << e << ", ";
也许这是为了进入while循环?
您一遍又一遍地为e
分配d*d
的值。由于d*d
不会更改,因此e
的值永远不会更改。也许您应该将e
初始化为循环外的数字,然后在循环内设置e = e * 2
,然后打印e
。这将以2的连续幂打印您的数字的倍数,这是我认为你想要的。
答案 2 :(得分:0)
可能的解决方案之一:
int main (int argc, const char * argv[])
{
int d;
int e = 2;
cin >> d;
while (d>0)
{
cout << e << ", ";
e = e * 2;
d--;
}
}