欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

i<sqrt+1和i<=sqrt不能相互替换?

时间:2023-05-29

在我们平常的认知中,初学者一般都会认为在for循环中,i

#include#includeusing namespace std;int main(){ int N,count=0,num=0; cin>>N; for(int i=0;i<=sqrt(N);i++) { count+=i;}for(int i=0;i

我们先对N赋值一个10:

结果显示如此小的数它们就不相等了,我们继续分别把i值和开方值打印出来看一下

代码段:

#include#includeusing namespace std;int main(){ int N,count=0,num=0; cin>>N; for(int i=0;i<=sqrt(N);i++) { cout<<"i="<

结果段:

 发现一个 一个执行到了i=3,一个执行到了i=4;上部分:3<=3.16228而下部分:4<3.16228+1;

说明sqrt函数返回的是double类型,就会导致题中不能替换的结果。

sqrt源码函数:

 

 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。