for循环嵌套里怎么用if语句控制外循环?

intSu(intx)//想用这个函数求比x小的离x最近的素数{inti,j;for(i=x;i>=2;i--){for(j=2;j<=i/2;j++)if(i%j==0... int Su(int x) //想用这个函数求比x小的离x最近的素数
{  
 int i,j;  
 for(i=x;i>=2;i--)
{   
for(j=2;j<=i/2;j++)  
 if(i%j==0) {break; continue;}  //想在这个条件满足后结束内循环,继续执行外循环
if(j>i/2) {break;  
return x;break;}//想在这个条件满足后结束内循环,返回x,并结束外循环.
 }   
}
\\编译后出来无数行 error: stray '\161' in program ,感觉应该是控制循环语句不对.请问怎么修改呢
展开
 我来答
百度网友34ea49a
2011-08-08 · TA获得超过894个赞
知道小有建树答主
回答量:297
采纳率:100%
帮助的人:396万
展开全部
修改如下
int Su(int x)
{  
 int i,j;  
 for(i=x;i>=2;i--)
{   
for(j=2;j<=i/2;j++)
{ 
  if(i%j==0) {break;} //若能整除任何一个数,说明非素数,跳出内循环,检查下一个i
}  
if(j>i/2) {return i;} //放到内循环之后而不是之内,检查j值,如果满足条件说明i是素数,返回i
 }   
}
追问
我编译器不会出毛病了吧,怎么编译你的还是error: stray '\161' in program|
追答
如果代码中含有全角标点的话,就会这样。可能是全角的Tab。
检查你的标点。别在中文输入法下输入标点。
heside123
2011-08-08 · TA获得超过199个赞
知道小有建树答主
回答量:693
采纳率:0%
帮助的人:370万
展开全部
int Su(int x) //想用这个函数求比x小的离x最近的素数
{  
 int i,j;
 for(i=x;i>=2;i--)
{  
for(j=2;j<=i/2;j++)  
 if(i%j==0) {break;}  //想在这个条件满足后结束内循环,继续执行外循环
if(j>i/2) {break;}//想在这个条件满足后结束内循环,返回x,并结束外循环.
 }

return x;   
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7b6a57f
2011-08-08 · 超过35用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:69.2万
展开全部
break是结束这个循环,continue是结束本次循环进行下次循环。你理解一下然后就可以修改代码了,不难。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-08
展开全部
把条件放在要循环的语句前好不好。。。。条件不成立跳过这个循环就行了
给i、j初始化,然后
for(i=x;i>=2;i--) {
if(i%j==0) break;
if (j>i/2) {
for(j=2;j<=i/2;j++) return x;
}
break;
}
追问
j是嵌套循环里的变量啊,你怎么拿出来先判断条件了....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssf8763
2011-08-08 · 超过12用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:37.6万
展开全部
给你稍微给了下,你看下行不行;
int Su(int x)
{  
 int i,j;  
 for(i=x;i>=2;i--)
{   
for(j=2;j<=i/2;j++)  
 if(i%j==0) continue; 
if(j>i/2)
{  
return x;
break;}
 }   
}
追问
编译了一下,还是原来的那错误;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式