| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 962 人关注过本帖
标题:关于一个作业题,求素数
只看楼主 加入收藏
tianshilei
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2010-10-28
收藏
 问题点数:0 回复次数:9 
关于一个作业题,求素数
现在有一个作业题,是求3~100之间的素数的题,应该用到循环语句,但是我写了下面的代码,编译能够通过,就是只能输出3,请各位高手看看。
#include <stdio.h>
main()
{ int m,n=1,i,flag=1;
  for(m=3;m<=100;m++)
  { for(i=2;i<m;i++)
     if(m%i==0)
     { flag=0;
       i=m;
     }
     if(flag==1)
     { printf("%d ",m);
       n++;
     }
       if(n%10==0) printf("/n");
  }
}现在有一个问题就是,如果我写了一个if语句,然后假如条件为真,然后继续进行,就应该怎么写呢?
小的是初学者,希望各位高手们不要笑话。

[ 本帖最后由 tianshilei 于 2010-10-31 12:56 编辑 ]
搜索更多相关主题的帖子: 素数 作业 
2010-10-31 12:28
slfzzhm
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-7-16
收藏
得分:0 
我也是初学者,我也想知道为什么
2010-10-31 14:43
shafeilong
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:236
专家分:1434
注 册:2009-3-21
收藏
得分:0 
#include <stdio.h>
void main()
{
    int m,n=1,i,flag=1;
    for(m=3;m<=100;m++)
    {
        flag =1;  //这里的flag 要重新赋值
        for(i=2;i<m;i++)
        if(m%i==0)
        {
            flag=0;
            i=m;
        }
        if(flag==1)
        {
            printf("%d ",m);
            n++;
        }
        if(n%10==0) printf("\n");  //虽然你很幽默  不过不是/n 而是\n
    }
}
2010-10-31 19:12
tianshilei
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2010-10-28
收藏
得分:0 
回复 3楼 shafeilong
请问为什么flag要重新赋值?
2010-10-31 19:28
山之子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-10-31
收藏
得分:0 
回复 4楼 tianshilei
因为每次循环flags都要为1
2010-11-01 16:09
山之子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-10-31
收藏
得分:0 
回复 5楼 山之子
是每次外循环时
2010-11-01 16:11
slfzzhm
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-7-16
收藏
得分:0 
回复 5楼 山之子
为什么要在循环里面对flag重新赋值啊?我也不懂啊....
2010-11-05 22:20
wangchunbao
Rank: 2
等 级:论坛游民
帖 子:24
专家分:10
注 册:2010-11-6
收藏
得分:0 
不重新赋值的话,,3 后面的数 flag都是零了;就不会有任何输出了
2010-11-20 20:09
haipe
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-18
收藏
得分:0 
同意 3楼 蛋定  。楼主的错误
2010-11-20 20:37
C之家
Rank: 2
等 级:论坛游民
帖 子:12
专家分:32
注 册:2010-9-14
收藏
得分:0 
程序在输出3之后,4的时候将flag赋值为0,如果没有重新赋值,那么之后的运算都是徒劳,flag始终是一,当然结果输出只有3了,在编写循环语句的时候赋值的顺序是尤为重要的      
2010-11-20 20:40
快速回复:关于一个作业题,求素数
数据加载中...
 
   



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

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