C语言任意指定区间内素数的打印

在讲述任意一个指定一个指定区间内素数打印之前,为了让像我一样的小白有一个循序渐进的过程,我们先随意指定一个固定区间,比如100~200,来打印一下这个区间中的素数。

#include <stdio.h>
//素数是除了 1和它本身之外,无法被其他自然数整除的数``
int main()
{
    for (int i = 100; i <= 200;i++) {
        int j = 2;  // j若写到 for循环内,j的生命周期便仅仅局限于第二个 for循环
        for (; j <= i; j++) {     //跳出第二个 for循环 j便会被释放
            if (i % j == 0) {
                break;
            }
        }
        if (i == j) {            //如果条件为 i%j!=0,那么break跳出的数会与i取余
            printf("%d ", i);    //一旦取到余数!=0的数时,便会打印 i
        }
    }
    return 0;
}

在指定区间内打印素数方法其实和上面所描述的相差无几,只不过是将区间100与200分别用变量来替换,此时我们需要注意的就是语句放在不同位置时逻辑关系的改变。

#include <stdio.h>
int main()
{
    int Min = 0, Max = 0;
    printf("请输入两个数字,以空格间隔:");
    scanf("%d %d", &Min, &Max);
    printf("%d~%d之间的素数为:", Min, Max);
    for (Min; Min <= Max; Min++) {
        int i = 2;
        for (; i <= Min; i++) {
            if (Min % i == 0) {
                break;
            }
        }
        if (i == Min) {
            printf("%d ", Min);
        }
    }
    return 0;
}

由此,我们便可以得出求一个指定区间内所有素数的打印了。

猜你喜欢

转载自blog.51cto.com/14961688/2542831