解题思路:
题干很简单,求N以内的素数,一个输入,不知道多少个输出。

首先明确素数的定义:素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。也就是只有1和它本身能被它整除的数。

明白了这一点,判断是否是素数就很简单了。详细过程大家可以看我的代码。

然后从2循环到N,把是素数的数输出就可以了。

注意事项:

(1)注意素数的定义;
(2)注意判断是否为素数的循环要从2开始;

(3)注意输出的格式,不要忘记换行符。
参考代码:

# include int main()
{
	int n,flag=1;//flag是为了标识是否为素数,1表示是素数,0表示不是素数
	int i,j;
	scanf("%d",&n);
	for (i=2;i<=n;i++)
	{
		for (j=2;j<=i/2;j++)//只需循环到i/2即可
			if(i%j==0)//当不满足素数条件时令flag=0并直接跳出循环
			{
				flag=0;
				break;
			}
		if(flag==1)
			printf("%d\n",i);
		flag=1;//不要忘记将flag重置为1
	}

	return 0;
}

如有裨益,吾之幸也。祝大家编程进步。

点赞(0)
 

0.0分

14 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

偷菜的小孩 2年前 回复TA
@21信管王嘉宇 这就是的。。。
21信管王嘉宇 2年前 回复TA
这不是筛选法
烟火尘霄 3年前 回复TA
@你莫泽声 感谢提醒,一点小问题,已修改
你莫泽声 3年前 回复TA
这是个错的