求1000以内的素数,为啥3没了跑了个4出来?
#include "stdio.h"
void main()
{
int m,n,k;
for(m=2;m<=1000;m++)
{ int k=0;
for(n=1;n<m/2;n++)
{
if(m%n==0)
k++;
}
if (k==1)
printf("%-5d",m);
}
getch();
}
[解决办法]
m是int型,小数点后的直接去掉了,float和double型的才保留小数点后的数据