如何通过使用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

本文关键字:循环 打印 平方根 while 25个 整数 何通过      更新时间:2023-10-16

当我尝试解决这个问题时,我写了以下代码:

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来阻止它停止部分,所以不清楚你在这里问什么。