#include
#include
void main()
{
int m,i,k;
for(m=100;m<=200;m++)
{
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(k printf("%d,",m);
}
getch();
}
程序基本上没什么大错,只要在输出上改一下就行,以上正确的代码
你的错误:例如当m=105(显然不是素数)m%2!=0 然后执行else ,就是输出105;
所以你要个判段i到k是否 都被m除到,所以i》k时就输出这个数,方法很多,你也可以用的别的方法做
// test_sushu.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
int main()
{
int m,i,k;
for(m=100;m<=200;m++)
{
k=(int)sqrt((float)m);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
break;
}
}
if (i>k)
{
printf("m=%d\n",m);
}
}
getchar();
return 0;
}
你的内存循环有问题自己找不要让人教了,
简单一点儿吧
#include
main()
{
int m,i;
for(m=100;m<=200;m++)
{
for(i=2;i
if(m%i!=0)
{
printf("%d\n",m);
}
break;
}
}
return 0;
}
以后有不懂的,发邮件到yuanxuebo1840121@163.com,我帮你啦
#include
void main()
{ int i,j,count;
for(i=100;i<=200;i++)
{ count=0;
for(j=2;j { if(i%j==0)
count++;
}
if(count==0)
printf("%d 是素数!\n",i);
}
}