求2-100之间的所有素数请教?
/*求2-100之间的所有素数,并输出。判断一个数是素数的方法*/
#include<stdio.h>
#include"math.h"
main()
{
int n,i,j,flag,x=0;
for(i=2;i<=100;i++)
{ //for语句循环体开始
flag=1;j=2;
n=(int)sqrt((double)i); //先将i强制转为双精度浮点型,再将其开方,再将开方后的值强制转换为整形,将这个整型值赋值给n.
while(flag&&j<=n) //当flag与j<=n,执行循环体
{ //循环体开始
if(i%j==0) flag=0; //如果将i按j取余等于0,那么flag=0;
j++; //
} //循环体结束
if(flag) //此处是flag=1还是flag>=1,还是其他的意思?
{
printf("%d,",i); //向屏幕输出i的值
x++; //x自加1
if(x%5==0)printf("\n"); //如果将i按5取余等于0,那么向屏幕输出;向屏幕输出的是哪个变量的值?
} //if语句结束
} //for语句循环体结束
}
以上为求2-100之间的所有素数,并输出。
小弟有些地方不太明白,主要就是最后这个if语句。
if(flag) 此处是flag=1还是flag>=1,还是其他的意思?
最后这个printf("\n"),向屏幕输出的是哪个变量的值?