【发布时间】:2017-12-06 16:36:08
【问题描述】:
我正在运行一个 c++ 程序,使用 while 循环来确定数字的平方根,在这里我已经定义了变量,尝试过但似乎没有什么对我有用,任何人都可以帮助我。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n=10, N=0, i=0;
while(i<5)
N=i*n;
cout<<"numbers ="<<"\t Square root="<<sqrt(N)<<endl;
return 0;
}
程序执行成功,但没有显示(空行)。谢谢。
【问题讨论】:
-
你希望这个程序做什么?你能用你自己的话描述每一行的作用吗?你知道它应该做什么吗?提示:在这种形式下,程序甚至不会终止,
i<5始终为真。 -
解决此类问题的正确工具是调试器,而不是求助于 SO。阅读How to debug small programs (by Eric Lippert)。
-
在
for和while之后,您应该将循环括在大括号{} 中。在这里,您的循环由一行组成:N=i*n;另外,@riodoro1 所说的内容。 -
不清楚代码的哪一部分应该在循环内。您知道您将迭代 5 次,因此请使用 for 循环。
-
while (i < 5) N = i*n;是一个无限循环,因为i为零,并且永远不会改变。写入cout的语句是在无限循环之后,所以永远不会到达。
标签: c++ while-loop sqrt