帮忙找一下BUG
#include "stdio.h"
#include "math.h"
void main(void)
{
int prime,count=0,i,flag=1;
for(prime=10000;prime>1;prime--)
{
for(i=2;i<=sqrt(prime*1.0);i++)
{
if(prime%i==0)
{
flag=0;
break;
}
}
if(flag==1)
{
printf("%d\n",prime);
count++;
}
if(count==9)
break;
}
getch();
}
把素数标志在当前整数判断完是否后重新设置为1,然后把控制打印素数个数的判断改为count==10就可以了,修改如下:
#include "stdio.h"
#include "math.h"
int main(void)
{
int prime,count=0,i,flag=1;
for(prime=10000;prime>1;prime--)
{
for(i=2;i<=sqrt(prime*1.0);i++)
{
if(prime%i==0)
{
flag=0;
break;
}
}
if(flag==1)
{
printf("%d\n",prime);
count++;
}
flag=1; //素数标志重新设置1
if(count==10)
break;
}
getchar();
}
报啥错误