| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:一个小问题,请高手帮忙
取消只看楼主 加入收藏
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:6 
一个小问题,请高手帮忙
#include<math.h>
void main()
{
    int i,j,k,h=0,leap=1;
    for(i=101;i<=200;i++)
    {
        k=sqrt(i+1);
        for(j=2;j<=k;j++)
        if(i%j==0)
        {
            leap=0;break;}
             if(leap)
            {
                printf("%-4d",i);h++;
                  if(h%10==0)
                 printf("\n");
              }
          leap=1;
        }
printf("\nThe total is %d",h);        
}
程序中倒数第四行得leap=1在程序中起什么作用?
2012-06-25 17:07
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
坛子里的高手进来帮帮忙啊,新手学习中
2012-06-25 18:12
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 6楼 beyondyf
版主,能帮忙分析下吗,四楼的兄弟说的我了解了一点,但感觉还是很朦胧,版主让我茅塞顿开吧
2012-06-26 07:16
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 9楼 beyondyf
版主写的第一个程序去掉了j循环的大括号,for语句如果没有大括号不是执行完后面的“一条”语句后直接就继续循环码?那也就是j循环结束后才会执行到if(leap)那条语句,是这样吗?
2012-06-26 12:30
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 9楼 beyondyf
版主不好意思,我看错了,看成第一重循环的括号了,呵呵,尴尬
2012-06-26 12:41
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 9楼 beyondyf
再问版主一个小问题,跟本题判断是否为素数没关系的,当程序执行到
 if(i%j==0)
         {
             leap=0;
             break;
         }时,当i%j!=0时,直接返回j循环,如果i%j==0时,程序是怎么走的,是直接返回继续j语句的循环,还是继续执行下面if(leap)语句呢?麻烦版主了


[ 本帖最后由 核晴核理 于 2012-6-26 12:53 编辑 ]
2012-06-26 12:49
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
回复 14楼 beyondyf
万分感谢版主老师
2012-06-27 07:22
快速回复:一个小问题,请高手帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024749 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved