c语言2—100素数
#include<stdio.h>main()
{
int k,i,tag;
for(i=2;i<=100;i++)
{
tag=0;
for(k=2;k<i;k++)
{
if(i%k==0)
tag=1;
}
if(tag==0)
printf("%d,",i);
}
}
有大哥能讲讲这个嵌套怎么运行的吗(尽量详细一点),感谢!!!
为什么能打印出2,2%2不是=0吗? 2-100的素数,tag是个标记,初始值为0.
素数:除了1和他本身之外不能被其他数整除的就是素数.
第二个for循环就是用来判断素数的,如果在2到要判断的i之间有被其他数整除的,说明他就不是素数,这时候标记赋值为1,待到第二个for循环完毕后,判断tag是否改变,若还为0,说明i这个数是素数,并输出
当i等于2时,到第二个for循环,k一开始也等于2,判断条件k<i这个条件并不成立,所以并没有进入第二个for循环,所以还能打印出2
页:
[1]