📅  最后修改于: 2023-12-03 15:14:26.577000             🧑  作者: Mango
以下是一个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程序能帮助你打印出指定范围内的所有素数!