| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 959 人关注过本帖
标题:还是TC的运行小小问题和求一个素数的程序部分请教
只看楼主 加入收藏
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
结帖率:90.48%
收藏
已结贴  问题点数:30 回复次数:16 
还是TC的运行小小问题和求一个素数的程序部分请教
我把别人告诉我的一个程序写上了编译器,检查后没有错误。可是不知道怎么运行的时候结果显示的很快,然后很快就切换回了编译界面。请问是哪个按键控制的啊?我找不到。搞的我要看结果的话一定要我退出编译系统然后才能看。
然后是问下这个程序:
#include<stdio.h>
#include<math.h>
void main()
{
    int i,j;
    for(j=101;j<=200;j=j+2)
    {
        for(i=2;i<=sqrt(j);i++)
        
            if(j%i==0) break;
        if(i>sqrt(j))
        printf("%d  ",j);
      
    }
printf("\n" );
}

这个程序是我看到别人的。 是一个求素数的程序,大体上我还是懂。
我只是疑问第二个IF语句控制的输出部分,为什么条件是要写 i>sqrt(j)  这里我有点不大懂。素数的意思是只能被1和这个数本身整除的数是吧.书上说也可以用不能被从2到这个数的平方根之间的数整除来判断出来这个数是不是素数.
搜索更多相关主题的帖子: 素数 运行 
2009-11-07 23:17
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:20 
程序代码:
#include<stdio.h> 
#include<math.h> 
void main() 
{ 
    int i,j; 
    for(j=101;j<=200;j=j+2) 
    { 
        for(i=2;i<=sqrt(j);i++) 
        
            if(j%i==0) break; 
        if(i>sqrt(j))      //  当i>sqrt(j)时,说明for循环没有中途断,即上一个for的break没有起到作用,换句话说,没有找到除1和它本身外的其它约数,即素数    
        printf("%d  ",j); 
       
    } 
getch(); //  加这个就可以看了,用来停滞下看结果,按任意键继续
printf("\n" ); 
}
2009-11-07 23:35
健忘
Rank: 1
来 自:甘肃武威
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-10-25
收藏
得分:0 
在最后的那个花括号前面加上 getch(); 就可以了
2009-11-07 23:41
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:5 
看你另个贴知道你是用TC,按Alt+F5查看结果,或在程序尾加下getch();语句或system("pause");语句。
·
判断一个数是不是素数是可以从2不能整除到该数的平方根,平方根后的数可以不再做判断,再做判断也是多余的,想想。

努力—前进—变老—退休—入土
2009-11-07 23:42
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:5 
#include <dos.h>
main()
{
    printf("hello!");
    system("pause");
}
结果为
hello!Press any key to continue . . .

main()
{
    printf("hello!");
    getch();
}
结果为
hello!
求64是否素数   8*8    1.2.4.8
在code结束的时候随便来个句子用来达到暂停即可,上述2种方法不绝对
比如sleep(3)   
    scanf()都可以

我可好玩啦...不信你玩玩^_^
2009-11-07 23:46
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 4楼 UserYuH
哟,还没睡,晚上好

我可好玩啦...不信你玩玩^_^
2009-11-07 23:46
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
回复 6楼 pgy
嗯,我还睡,你好!

努力—前进—变老—退休—入土
2009-11-07 23:52
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 2楼 lijm1989
我用的是TC2.0
我说的显示结果是出现的很快  快到我根本就看不到完全的内容
之前我编译一些简单的程序的话是能看到的  就是因为没有加后面的那个就看不到么?
以前没有加还是能看到的啊
2009-11-08 00:07
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 2楼 lijm1989
嗯 我尝试了一下 确实是加上去以后就能看到结果了  那意思是不是所有的程序都需要加上那个后缀呢?
还希望你说明白一点 毕竟我希望完全懂点 呵呵
2009-11-08 00:12
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 5楼 pgy
这位大侠 我想问下你写的第一个和第二个加的后缀不同现实出来的结果会不一样么?
getch() 就是让显示的结果暂停么?
2009-11-08 00:15
快速回复:还是TC的运行小小问题和求一个素数的程序部分请教
数据加载中...
 
   



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

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