首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个程序哪里有错啊如何求的值不对呢?

2012-03-13 
这个程序哪里有错啊,怎么求的值不对呢??#includeiostream.h#includemath.hboolPrime(inti)voidmain()

这个程序哪里有错啊,怎么求的值不对呢??
#include   <iostream.h>
#include   <math.h>

bool   Prime(int   i);

void   main()
{
int   r;
cout < < "enter   a   number: ";
cin> > r;

if(Prime(r))
cout < < "prime. " < <endl;
else
cout < < "not   prime. " < <endl;
}

bool   Prime(int   i)
{
bool   flag;
int   j;

for(j=2;j <=sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}
else
{
flag=1;
break;
}
}
return   flag;
}


判断不正确,不知道为什么..帮忙看看吧,谢谢!

[解决办法]
应该是下面这样:
bool Prime(int i)
{
bool flag=1;
int j;

for(j=2;j <=sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}

}
return flag;
}

[解决办法]
for(int flag=1,s=sqrt(i),j=2; j <=s; j++)
{
if(i%j==0)
{
flag=0;
break;
}
}

热点排行