由题意得:
1.输入一个数n,作为上限
2.由于是输出素数,所以“2”是输出的第一个数
3.将“2~n”之间的每个数都标记为“0”
4.将每个数进行判断是否为合数,若是,则更新标记为“1”
5.输出标记为“0”的数
6.代码如下:
#include<stdio.h>
int main()
{
int n,i,j,flag;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
flag=0;
for(j=2;j*j<=i;j++)
{
if(i%j==0)
flag=1;
}
if(flag==0)
printf("%d ",i);
}
return 0;
}