搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助,求1到100的所有素数的程序错误
标题:
求助,求1到100的所有素数的程序错误
只看楼主
某先生0422
等 级:
论坛游民
帖 子: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
我只是个学生
来 自:中石大
等 级:
论坛游侠
威 望:
1
帖 子:57
专家分:190
注 册:2014-12-14
第
2
楼
得分: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
等 级:
论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
第
3
楼
得分: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
等 级:
论坛游民
帖 子:6
专家分:12
注 册:2014-11-20
第
4
楼
得分:0
回复 2楼 我只是个学生
谢谢你 已经解决了。感激万分。
2014-12-20 16:32
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-440164-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.908402 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved