📄 subject_62916.htm
字号:
<p>
序号:62916 发表者:玄烨 发表日期:2003-11-29 20:13:48
<br>主题:int sqrtm=sqrt(m)?
<br>内容:请问int sqrtk=sqrt(k);这条语句应该怎么改才正确<BR>sqrt(k);为Double类型<BR>我改成int sqrtk=int(sqrt(k))的时候不行<BR><BR>thx<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:dstwwx 回复日期:2003-11-29 20:21:46
<br>内容:int sqrtk=(int)sqrt(k);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:玄烨 回复日期:2003-11-29 20:35:16
<br>内容:#include "stdafx.h"<BR>#include "math.h"<BR>#include "iostream.h"<BR>#include "iomanip.h"<BR>void fun(long,long);<BR>int main(int argc, char* argv[])<BR>{<BR> long a,b;<BR> cout<<"input two number!"<<endl;<BR> cin>>a >>b;<BR> cout<<a<<endl;<BR> cout<<b<<endl;<BR> fun(a,b);<BR><BR> return 0;<BR>}<BR>void fun(long x,long y){<BR> if(x%2==0)<BR> x++;<BR> for(long m=x;m<=y;m+=2){<BR> int sqrtm=(int)sqrt(m);<BR> for(int i=2;i<=sqrtm;i+=1)<BR> if(sqrtm%i==0)<BR> break;<BR> if(i>sqrtm)<BR> cout<<setw(5)<<m;<BR> }<BR>}<BR><BR><BR>请看一下这究竟错在哪啊?<BR><BR>谢谢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dstwwx 回复日期:2003-11-29 20:38:05
<br>内容:不要加下面的头文件:<BR>#include "stdafx.h"
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dsadsdas 回复日期:2003-11-29 20:40:53
<br>内容:如果在一个比较严格(所谓严格,就是比较符合标准)的编译器上,你的<BR>sqrt(m);<BR>是错的。<BR>因为在math里面,有两个sqrt,一个是sqrt(float),一个是sqrt(double),而m是long,这两个都可以被调用,就ambiguous了。这样写sqrt((float)m)或者sqrt((double)m)就可以了。<BR>玄烨,你的错误不在于不知道有两个sqrt,而在于没有仔细看编译错误哦。;))))
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:玄烨 回复日期:2003-11-29 21:57:24
<br>内容:to lint386<BR><BR>还是不行哦<BR>出现这个错误<BR> D:\vc\5_1\5_1.cpp(24) : warning C4244: 'initializing' : conversion from 'double' to 'int', possible loss of data<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dsadsdas 回复日期:2003-11-30 00:39:43
<br>内容:这个是warning,问题不大的。不过你这样求整数的平方根不好哦。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -