这个求素数的程序哪里错了?谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:35:24
#include "iostream.h"
#include "math.h"
void main()
{
int m,k,i,leap=1;
for(m=2;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
{if(m%i==0) {leap=0;break;}}
if(leap) cout<<m<<endl;
}
}

楼上的朋友,你太不负责任了.请问你改过的程序你上机测试过了吗?误人子弟!!!!!!!

正确修改如下(DEVCPP 下测试通过)

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int m,k,i,leap;
for(m=2;m<=100;m++)
{
leap=1; /*每次都要让标识变量为1*/
k=sqrt(m+1);
for(i=2;i<=k;i++)
{
if(m%i==0) {leap=0;break;}
}
if(leap) cout<<m<<endl;
}
system("pause");
}

#include "iostream.h"
#include "math.h"
void main()
{
int m,k,i,leap=1;
for(m=2;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
{if(m%i==0) {leap=0;break;}//括号错了,这里改了~
if(leap) cout<<m<<endl;
}
}

#include "iostream"
#include<stdlib.h>
#include "math.h"
using namespace std;
int main()