| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6405 人关注过本帖
标题:关于用For循环求100-200之间素数的问题,请高手进来指点我一下,
只看楼主 加入收藏
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
结帖率:72.73%
收藏
已结贴  问题点数:20 回复次数:7 
关于用For循环求100-200之间素数的问题,请高手进来指点我一下,
今天在课上老师给了我们一个上机操作题,题目如下:用For循环写一段程序,使之在屏幕上输出100-200之间的素数,我写了2结课,弄的办懂,后来老师给出答案如下:
#include "stdafx.h"
void main()
{
    int i, j,tag;
    for(i=100;i<201;i++)
    {
        tag=0;
        for(j=2;j<=i/2;j++)
            if(i%j==0)
                tag=1;
        if(tag==0)
            printf("%4d",i);
    }
}
   问题出来了, 我2个For里面和别的都看懂了,但是tag这个整型变量在第一个For里是什么意思?  第二个For下面的2个if的tag我都明白就是说当i求余j如果余数是0,那么就把1赋值给tag;如果tag等于0的时候的数就是素数,就输出到屏幕上,可是第一个For下面的tag=0是什么意思呢?我剪切掉之后是错误的!请哪位大侠告诉我下!
搜索更多相关主题的帖子: 201 include 
2011-11-11 17:34
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:15 
第一个For下面的tag=0是什么意思呢
==================
这个是给tag重新赋值0,以防前一次循环的时候tag是1,而这次是不是素数,而tag还是1,就把这个非素数也当成了素数
2011-11-11 17:39
huanega
Rank: 3Rank: 3
来 自:内蒙古
等 级:论坛游侠
帖 子:117
专家分:192
注 册:2011-11-4
收藏
得分:5 
循环一次  给tag重新赋值   目的2楼说的很清楚

兴趣是编程最好的老师
2011-11-11 18:50
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 2楼 luchar
谢谢!!!!!!

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-11-11 20:13
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 3楼 huanega
豁然开朗 谢谢!

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-11-11 20:13
joestime
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-11
收藏
得分:0 
注意这个是循环语句
2011-11-11 22:54
森淼
Rank: 2
来 自:甘肃金昌
等 级:论坛游民
帖 子:10
专家分:17
注 册:2011-11-8
收藏
得分:0 
tag只是一个标志,当tag为1,就表明它不是素数,为0才是,第一个for循环下的tag=0是初始化,以防上一个数为素数使tag置1,而使得下一个不是素数的也输出
它应该这样
void main()
{
    int i, j,tag;
    for(i=100;i<201;i++)
        tag=0;
        for(j=2;j<=i/2;j++)
        {
            if(i%j==0)
            {
                tag=1;
                break;    //跳出,既然有结果了,就不用再往下判断了
            }
        if(tag==0)
            printf("%4d",i);
    }
}

闲看庭前花开花落
漫随天外云卷云舒
2011-11-11 23:03
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 7楼 森淼
您这个程序写完这后运行了吗?

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-11-12 07:46
快速回复:关于用For循环求100-200之间素数的问题,请高手进来指点我一下,
数据加载中...
 
   



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

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