这个C++程序是从《好学的C++》上敲下来的可是总是编译不通过求大神帮忙看一下for (i = 2; i <= sqrt这行

#include<conio.h>#include<iostream>#include<cmath>usingnamespacestd;boolprime(intn);i... #include <conio.h>
#include <iostream>
#include <cmath>
using namespace std;
bool prime (int n);
int main ()
{ int i ;
while (true)
{ cout << "ENTER num (0=exit) and press Enter: ";
cin >> i;
if ( i == 0)
break;
if (prime (i))
cout << i << " is prime"<<endl;
else
cout << i << "is not prime" <<endl;
}
system ("PAUSE");
getch ();
return 0;
}
bool prime (int n)
{ int i;
for (i = 2; i <= sqrt(n); i++)
{if ( n % i == 0)
return false;
}
return true;
}
展开
 我来答
心中风情4
2013-08-05 · TA获得超过2247个赞
知道大有可为答主
回答量:1779
采纳率:66%
帮助的人:1093万
展开全部
是你的编译问题,你的编译器不支持隐式类型转换,这段代码在VC6.0下编译没问题,要想在你的编译器下编译通过,需要显式的类型转换
for (i = 2; i <= (int)sqrt((double)n); i++)
龍__鳳
2013-08-05 · TA获得超过2346个赞
知道小有建树答主
回答量:948
采纳率:0%
帮助的人:1410万
展开全部
VC++6.0是可以正确执行的
估计你用的是VS吧
改成i<=sqrt((double)n)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是经费和
2013-08-05 · TA获得超过1648个赞
知道小有建树答主
回答量:1584
采纳率:0%
帮助的人:738万
展开全部
看一下错误信息也是好的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科密77
2013-08-05
知道答主
回答量:11
采纳率:0%
帮助的人:3.9万
展开全部
没问题啊!你那个getch()我觉得多余了!我运行没问题啊!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Nsaber
2013-08-05 · TA获得超过389个赞
知道答主
回答量:200
采纳率:0%
帮助的人:95.2万
展开全部
可以编译啊
是报什么错误?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式