这是一道C语言小练习题,求100-200之间的素数,下面我们就来整理好编程思路,将其解决!
在解这题前,我们要明白什么是素数,可能少部分小伙伴忘记素数的概念了,那么我来帮大家回忆一下什么是素数(质数)。
素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数。
比如:17就是素数,因为它除了一和它自身,不能被其他整除。
接下来,我们来清晰的整理我们的编程思路:
定义两个int变量i,a 。 i作为除数,a作为被除数;
因为素数的范围在100-200之间,这时我们应该想到利用for循环,需要利用两个for循环,最外层的for循环是为了循环除数i,代码如:for (i = 100; i <= 200; i++);
接着在这里面嵌套一个for循环,为了判断100-200之间哪些是素数,哪些不是,代码如:for (a = 2; a < i; a++),为什么a是从2开始,因为素数是除了1和自身外,不能被其他自然数整除的数,所以a需要从2开始,并且小于i;
接着在第二层for循环中,利用if语句进行判断,如果能够被其他数整除说明不是素数,代码如:if (i % a == 0),不是素数的话我们就退出这次判断,接着判断下一个数,所以需要利用到break,是素数的留下,不是素数的全部退出;
最后在用if语句,如果a=i,代码如:if (a == i),说明是素数,将其打印出即可。
(大家一定要把思路整理清晰,再动手去敲)
最后代码如下:
#include<stdio.h>
int main()
{
int i = 0;
int a = 0;
for (i = 100; i <= 200; i++)
{
for (a = 2; a < i; a++)
{
if (i % a == 0)
break;
}
if (a == i)
printf("%d\n", i);
}
return 0;
}
运行结果:
