📌  相关文章
📜  C程序,可有效打印给定数字的所有素数(1)

📅  最后修改于: 2023-12-03 15:14:26.577000             🧑  作者: Mango

C程序 - 打印给定数字的所有素数

以下是一个C程序,它可有效打印出给定数字范围内的所有素数。

#include <stdio.h>

// 函数原型
int isPrime(int num);

int main()
{
    int start, end;
    
    // 获取要查找素数的范围
    printf("输入开始数字: ");
    scanf("%d", &start);
    printf("输入结束数字: ");
    scanf("%d", &end);
    printf("在范围 %d 到 %d 内的素数为:\n\n", start, end);
    
    // 遍历范围内的每个数字,并调用isPrime函数进行素数检查
    for (int i = start; i <= end; i++)
    {
        if (isPrime(i))
        {
            printf("%d ", i);
        }
    }
    
    printf("\n");
    
    return 0;
}

// 素数检查函数
int isPrime(int num)
{
    // 数字小于2不是素数
    if(num < 2)
    {
        return 0;
    }
    
    // 遍历2到num-1的所有数字,检查是否能整除num
    for(int i=2; i<=num/2; i++)
    {
        if(num%i == 0)
        {
            return 0;
        }
    }
    
    return 1;
}

这个程序首先要求用户输入一个开始数字和一个结束数字。然后,它遍历指定范围内的每个数字,并调用isPrime函数进行素数检查。如果一个数字是素数,它将被打印出来。

isPrime函数用于检查一个数字是否为素数。如果该数字小于2,则它不是素数。然后,它遍历从2到num-1的所有数字,检查是否能整除num。如果能整除,则该数字不是素数。如果没有找到能整除的数字,那么该数字是素数。

请注意,isPrime函数可以作为其他程序或模块中的可重用函数使用。

希望这个简单的C程序能帮助你打印出指定范围内的所有素数!