| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 856 人关注过本帖
标题:我是新手,但这个好纠结
只看楼主 加入收藏
菜鸟ぃ求助
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-10-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
我是新手,但这个好纠结
#include<stdio.h>
#include<stdlib.h>
int main ()
{int n,a,b,c,i=0;
for(n=2;n<=100;n++)
{
    for(a=2;a<n;a++)
    {c=n%a;   
    if(c==0) { i++;}
    }
    if(i==0)
    {printf("%d\n\n",n);}
}
system("pause>>NUL");
return 0;
}

求教100以内的素数  是哪里有错   结果只有2和3
搜索更多相关主题的帖子: include 
2013-10-28 22:53
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:15 
把int i=0 写在第一个for循环下面,第二个for循环里面就可以了。
收到的鲜花
  • 菜鸟ぃ求助2013-10-28 23:21 送鲜花  3朵   附言:我很赞同
2013-10-28 23:10
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:0 
不好意思,是第一个for循环下面,第二个for循环外面。
2013-10-28 23:12
菜鸟ぃ求助
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-10-28
收藏
得分:0 
回复 2楼 南国神画
恍然大悟!!谢谢

生命不息,战斗不止!!
2013-10-28 23:19
菜鸟ぃ求助
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-10-28
收藏
得分:0 
回复 3楼 南国神画
不好意思    有点不懂  试了试不对啊

生命不息,战斗不止!!
2013-10-28 23:22
南国神画
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:51
专家分:124
注 册:2013-10-24
收藏
得分:5 
回复 5楼 菜鸟ぃ求助
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main (){
     int n,a,c;
   for(n=2;n<=100;n++){  
      int i=0;
    for(a=2;a<n;a++)
    {
        c=n%a;   
    if(c==0) {
        i++;
    }
    }
    if(i==0){
        printf("%d\n\n",n);
    }
}
system("pause>>NUL");
return 0;
}

其实就是一个i的位置问题,你这里的i需要每次都初始化,那么在for程序块中就可以办到,而写在上面的话,进入main()函数只会初始化一次,那么当n=4时,i就变成了1,依次类推,i每加一次,i的值在进入for循环就已经不是0了,当然后面的素数就不会打印了。我运行了可以的,我把b删除了,因为没用到。
2013-10-29 12:11
haiboself
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:196
注 册:2013-10-23
收藏
得分:0 
.
2013-10-29 13:14
菜鸟ぃ求助
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-10-28
收藏
得分:0 
回复 6楼 南国神画
谢谢了   又掌握了不少

生命不息,战斗不止!!
2013-10-29 23:43
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-10-30 15:57
绝版小电影
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-10-28
收藏
得分:0 

#include <stdio.h>

void main( )
{
    int i, m;
    for(m=1;m<100;m++)
    {
        for(i=2;i<m;i++)
        {
            if(m%i==0)break;
        }
    if(i>=m)
    printf("%d\n",m);
    }
            getch();     

}
    感觉这这个比较简单,,,
2013-10-30 19:24
快速回复:我是新手,但这个好纠结
数据加载中...
 
   



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

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