gpt4 book ai didi

c++ - 为什么不是 while ((i <= 9) && square == pow(i, 2)) { cout << i << square;我++;按照我的意愿打印出来?

转载 作者:行者123 更新时间:2023-12-01 14:05:22 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is floating point math broken?

(31 个回答)


去年关闭。



#include <iostream>
#include <cmath>
using namespace std;
int main() {

int i = 0;
int square = 0;

// Write a while loop here:

while ((i <= 9) && square == pow(i, 2)) {
cout << i << square;
i++;


}
}

//Why is this not printing out
/* 0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
*/

/有人可以向我彻底解释为什么这个while循环无法打印出这个数字序列。
我不明白为什么这只会打印出 00 而不是那个数字列表。有人可以向我解释为什么这个 while 循环不能正常工作吗?/

最佳答案

你可能想做:

while (i <= 9) {
square = pow(i, 2);
cout << i << square;
i++;
}

或者:
while (i <= 9 && (square = pow(i, 2))) {
cout << i << square;
i++;
}

否则尽快 square == pow(i, 2)为 false 循环结束,您似乎想要指定正方形而不是比较它

关于c++ - 为什么不是 while ((i <= 9) && square == pow(i, 2)) { cout << i << square;我++;按照我的意愿打印出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61982362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com