一道c语言题,求高手解释下这题!

#include"stdio.h"main(){intj,i,k=0;for(j=50;j<=60;j++){if(!(k%10))printf("\n");for(i=... #include "stdio.h"
main()
{int j,i,k=0;
for(j=50;j<=60;j++)
{if(!(k%10))printf("\n");
for(i=2;i<j;i++)if(!(j%i))break;
if(i>=j-1){printf("%d",j);
k++;}}}
答案是:5359 我不知道这个怎么来的 请高手解释下过程谢谢
展开
 我来答
帐号已注销
2012-02-17 · TA获得超过2807个赞
知道小有建树答主
回答量:559
采纳率:0%
帮助的人:978万
展开全部
我把行分好点,直观点

总的目的就是找出50~60中的质数(素数)
#include "stdio.h"
main()
{
int j,i,k=0;
for(j=50;j<=60;j++) //从50~60
{
if(!(k%10)) printf("\n"); //k用来换行,但是前面k=0应该改为k=1
for(i=2;i<j;i++) //判断素数常用,从2~本身不断除j,但其实除到根号j即可
if(!(j%i)) break; //假如j可以被i整除,结束上一行for循环
if(i>=j-1) //与上两行for无关,若i=j-1,如j=54,i=53,说明从2~i(53)都不能整
// 除j,j为素数
{printf("%d ",j);k++;} //输出j ,k++用来控制转行
}
}

如还有其他不明,可继续提问。
追问
我知道  原来是我这本题目答案5359硬连在一起了 是53 和 59 这是题选择题 我头一次做素数的题目 
谢了 你这样写我看的比较清楚
干练且饱满丶熊猫9653
2012-02-17 · TA获得超过7.8万个赞
知道大有可为答主
回答量:9.2万
采纳率:0%
帮助的人:1.2亿
展开全部
#include "stdio.h"
main()
{
int j , i , k = 0;

for( j = 50 ; j <= 60 ; j++)
{
if( !( k % 10 ) )
printf( "000\n" );
for( i = 2 ; i < j ; i++ )
if( !( j % i ) )
break;
if( i >= j-1 )
{
printf( "%d" , j );
k++;
}
}
}
根据%求模运算,初始条件j = 50 , k = 0 , k % 10 = 0 所以 !( k % 10 ) 为真 ,执行printf( "000\n" ); for( i = 2 ; i < j ; i++ ) i = 2 , j = 50 , j % i = 0 , !( j % i ) 为真,执行break; 下面的不再执行,把j +1 ,j = 51 ,再继续从头开始执行 ,自己想一下吧。如果还不明白的,加QQ:1787722171 ,以后代码格式写清晰一点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangdebo321
2012-02-17 · TA获得超过203个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:196万
展开全部
找素数的程序 ,只是其中的好几句语句没有用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夫人的老公
2012-02-17 · TA获得超过195个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:101万
展开全部
用VS跟踪i,j,k这几个变量就知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小河的阿杰
2012-02-17
知道答主
回答量:85
采纳率:0%
帮助的人:15.8万
展开全部
我的妈呀!土星文吧?不懂!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式