C++ “无限”;“真的”;while循环
我知道我可能只是做了一些愚蠢的错误,但我需要从用户那里获取一个数字,创建一个2的倍数的无限循环(通过使while语句为true)。我得到了将用户的数字乘以自身的数学公式,但我无法让它循环。这是我这周作业的最后一部分,我的大脑被炸了,所以我不知道哪里出了问题 任何帮助都将是惊人的!以下是我所拥有的:C++ “无限”;“真的”;while循环,c++,loops,infinite-loop,C++,Loops,Infinite Loop,我知道我可能只是做了一些愚蠢的错误,但我需要从用户那里获取一个数字,创建一个2的倍数的无限循环(通过使while语句为true)。我得到了将用户的数字乘以自身的数学公式,但我无法让它循环。这是我这周作业的最后一部分,我的大脑被炸了,所以我不知道哪里出了问题 任何帮助都将是惊人的!以下是我所拥有的: #include <iostream> using namespace std; int main (int argc, const char * argv[]) { int
#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 << ", ";
}
#包括
使用名称空间std;
int main(int argc,const char*argv[]
{
int d;
INTE;
cin>>d;
while(true)
{
e=d*d;
}
cout正如所写,您的代码将永远循环,因此,它将永远不会到达该cout语句。也许您希望将cout语句放入循环体中,以便打印变量?在:cout处存在无法访问的代码,可能的解决方案之一是:
int main (int argc, const char * argv[])
{
int d;
int e = 2;
cin >> d;
while (d>0)
{
cout << e << ", ";
e = e * 2;
d--;
}
}
int main(int argc,const char*argv[]
{
int d;
int e=2;
cin>>d;
而(d>0)
{
你的意思是说“我需要从用户那里获取一个数字,创建一个无限循环,显示2的倍数吗?”“因为你肯定得到了这个循环,它只是不给你任何东西。+ 1,因为这是HOOWORK。”(本杰明:是的:-)这正是我想说的!Mehrdad -谢谢!我认为完全诚实是最好的策略当求救!- -也许我只是不够熟练的C++,但不会在第一个初始化。循环的迭代?哎呀。我误读了。我以为它是:'d=e*d'。我将删除该部分。谢谢。FWIW,它可能最终应该读取d=e*d
(或类似的东西。)代码(原样)威尔永远循环,一遍又一遍地重复相同的乘法。所以如果它在while循环内,那么它就不能从外部读取?我以为我用e=d*d初始化了它,但似乎我没有!你确实初始化了它。我犯了一个错误,我删除了它。啊,是的!我应该让它永远运行,只要打印结果就行了!谢谢!我把cout移到了循环中,它只是一遍又一遍地显示相同的数字。我需要它像“2,4,8,16,32”这样读出。我离得太近了!@audiedogie正如Chris Lutz在下面提到的,你需要在循环外初始化e,然后将你的语句改为e=e*d
(或者e*=d
,以保持冷静)试着不要用勺子给家庭作业问题的答案。除此之外,你似乎误解了这个问题。你的程序打印的是2的连续幂。原始海报想要打印特定数字的连续倍数2。