如何通过使用I = I +1而不是I = I +2的while循环来打印前25个整数的平方根?
How can I print the square roots of the first 25 off integers by using a while loop with i=i+1 instead of i=i+2
当我尝试解决这个问题时,我写了以下代码:
int x = 1;
while(x%2 != 0 && x <= 50) { //x%2 != 0 defines odd integers and x<=50 gives the first 25
cout << pow(x,0.5) << endl;
x = x + 1;
}
这段代码只打印出1的平方根的值。所以我像这样编辑代码:
int x = 1;
while(x%2 != 0 && x <= 50) {
cout << pow(x,0.5) << endl;
x = x + 2;
}
现在它打印出所有25个奇数的平方根。
因此,第一个代码的问题显然是,一旦平方根不能执行(即当整数是偶数时),while循环就会停止。它正在执行根号1,移动到整数2,而不是执行根号,而不是移动到整数3,它停止了。这就是第二段代码有效的原因:因为我加的是2,它只会遇到一个奇数,所以总是有效,因此一直持续到x<=50。
我怎么能阻止它停止,为什么它这样做?我本以为它会注册每一个满足条件的整数,但它没有这样做。
while
在条件为true
时执行。第二次迭代x == 2
,因此条件x%2 != 0
变成false
,因此x%2 != 0 && x <= 50
变成false
, while
循环终止。
你已经解决了我如何通过增加x
2来阻止它停止部分,所以不清楚你在这里问什么。
相关文章:
- 如何循环打印顶点结构
- 了解嵌套循环打印星号图案
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 如何在c++中仅使用for循环打印此代码的垂直直方图
- 使用 for 循环打印字符串数组无法正常工作 (C++)
- C++服务器程序循环打印
- 循环打印垃圾 c++ 的链表
- 使用用户输入(无矢量)从 For 循环打印图表
- 我想反转地图的值并使用基于范围的 for 循环打印它
- c++While循环打印couts两次
- 用于中断后的循环打印
- 使用 while 循环打印一系列偶数和奇数
- 我需要使用嵌套的 while 循环打印一个正方形。我想我已经用正确的逻辑对其进行了编码,但它没有给我所需的输出
- C/C++ 拼图:使用单个 for 循环打印 1.15 15.1 的值
- 我可以用cout而不是迭代器循环打印STL映射吗?
- 循环打印时出现分段故障
- 在我的程序中使用for循环打印矩阵的错误
- c++帮助循环打印星号
- C++ 对于每个循环打印一个数组
- 使用 while 循环打印两个用户输入值范围内的数字