| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖
标题:求助,求1到100的所有素数的程序错误
只看楼主 加入收藏
某先生0422
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助,求1到100的所有素数的程序错误
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,m,n=0,w=1;//此处w的开关
    for(i=1;i<100;i+=2)
    {
    m=sqrt(i);
        for(j=1;j<=m;j++)
        if(i%j==0) w=0;//假如能被整除,就把0赋给w;
        if(w)printf("%5d\n",i);//假如w!=0,则输出i;

    }
getch();
}
搜索更多相关主题的帖子: include 开关 
2014-12-20 16:01
我只是个学生
Rank: 3Rank: 3
来 自:中石大
等 级:论坛游侠
威 望:1
帖 子:57
专家分:190
注 册:2014-12-14
收藏
得分:20 
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,m,n=0,w=1;//此处w的开关
    for(i=1;i<100;i+=2)//最好不要从1开始循环,而且i应该+1
    {
    m=sqrt(i);
        for(j=1;j<=m;j++)//这里也是,最好不要从1开始循环
        if(i%j==0) w=0;//当循环到j=2,i=15时,此时执行完这条语句w=1,也会执行下面一条语句,并打印出15,但是15不是素数。我想你的本意是打印素数吧?
        if(w)printf("%5d\n",i);//假如w!=0,则输出i;

    }
getch();
}

我们的善良将助长一个孩子不劳而获的懒惰心理
2014-12-20 16:14
某先生0422
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
收藏
得分:0 
i+=2是因为偶数一定不是素数。
我换成这样的代码 还是不行啊
#include<math.h>
int main()
{
int i,j,m,n=0,w=1;
    for(i=3;i<100;i+=2)
    {
    m=sqrt(i);
        for(j=2;j<=m;j++){
        if(i%j==0) w=0;
        if(w==1)printf("%5d",i),w=1;}

    }
getch();
}
求指导
2014-12-20 16:25
某先生0422
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
收藏
得分:0 
回复 2楼 我只是个学生
谢谢你 已经解决了。感激万分。
2014-12-20 16:32
快速回复:求助,求1到100的所有素数的程序错误
数据加载中...
 
   



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

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