麻烦大佬了,程序写出来了,但是问题在sqrt
判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
2.程序源代码:
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++)
{ k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
代码没错,更严谨的话应该把sqrt(m+1)改为sqrt(m)
我运行是没问题的:
如上图所示,成功输出了所有的素数
所以应该是编译器的问题,可以搜索下错误提示具体看看是什么原因
实在不行就重装Visual Studio或者换其他的编译器
其实一些简单的代码在网上随便搜一个在线编译的平台都可以跑,比如python123.io