标题:简单小程序bug
只看楼主
yanpeisen
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-7-4
 问题点数:0 回复次数:4 
简单小程序bug
生成1-99所有素数
我这样做怎么编译没问题 运行直接弹出错误报告
//打印出1-99间的所有素数
#include<iostream.h>
#include<math.h>
void main()
{
for(int i=1;i<=100;i++)
{for(int j=0;j<i;j++)
if(i%j==0)
break;
cout<<i<<endl;
}}//自己写的 有问题
 下面是正确的
void main()
{
int i,n;
for(n=2;n<=99;n++)
{
int temp=int(sqrt(n));

for(i=2;i<=temp;i++)
if(n%i==00)
break;       //执行break时为非正常结束循环
if(i>temp)
cout<<n<<' ';
}
cout<<endl;
}
搜索更多相关主题的帖子: bug 
2008-11-03 23:14
CZ_xinle
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-15
得分:0 
j不能从0开始,要从2开始。
2008-11-03 23:21
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
得分:0 
i%j
对0取模是会出问题地.
2008-11-04 02:28
hitcolder
Rank: 1
等 级:新手上路
威 望:1
帖 子:124
专家分:0
注 册:2008-10-28
得分:0 
#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=2;i<=100;i++)
{
for(j=2;j<=i;j++)
{
   if(i%j==0)
   break;
}
   if(j==i) cout<<j<<'\t';
}
return 0;
}
个人感觉这个程序是比较简单的编法,你可以去百度上去搜下看,有很多种不同类型的编法,这种编法简单,但是计算的步骤比较多,楼主可以参考下
2008-11-04 09:37
yanpeisen
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-7-4
得分:0 
谢谢 你们
2008-11-04 21:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-242258-1-1.html




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

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