大时代方展博喜欢谁:这是一段求101--200之间所有素数的代码,请问哪里错了?(C语言)
来源:百度文库 编辑:神马品牌网 时间:2024/08/28 17:17:21
main()
{
int i,j;
clrscr();
for(i=101;i<=200;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
else
printf("%d ",i);
}
}
{
int i,j;
clrscr();
for(i=101;i<=200;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
else
printf("%d ",i);
}
}
break 只能跳出第一个for,程序继续判断 i是不是质数
所以会出现很多质数
应该直接跳出第二个for
用goto
main()
{
int i,j;
clrscr();
for(i=101;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
goto OUT;
}
printf("%d ",i);
OUT:;
}
}
break结束了本次循环,就是说当循环遇到可以被2整除的数时,执行了语句break,循环结束。而不再进行下面的循环。
break跳出循环了吧
把break换成continue就行了.