编写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。
时间: 2024-12-21 09:31:17 浏览: 32
要编写一个判断素数的函数,我们可以创建一个名为 `is_prime` 的函数,该函数接收一个整数参数并返回一个布尔值,表示这个数字是否为素数。以下是一个简单的实现:
```c
#include <stdbool.h> // 引入 bool 类型
// 判断是否为素数的函数
bool is_prime(int num) {
if (num <= 1) { // 0 和 1 不是素数
return false;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到根号下
if (num % i == 0) { // 如果能被整除,则不是素数
return false;
}
}
return true; // 如果没有找到因子,则它是素数
}
int main() {
int input_num;
printf("请输入一个整数:");
scanf("%d", &input_num);
if (is_prime(input_num)) {
printf("%d 是素数。\n", input_num);
} else {
printf("%d 不是素数。\n", input_num);
}
return 0;
}
```
在这个程序中,我们首先定义了一个 `is_prime` 函数,它接受一个整数 `num`。如果 `num` 小于或等于 1,我们知道它不是素数。接着,我们从 2 开始迭代,直到 `i * i` 大于 `num`(因为如果有一个因子大于 `sqrt(num)`,那么肯定还有一个小于或等于它的因子)。如果 `num` 能够被 `i` 整除,说明 `num` 不是素数。
在 `main` 函数中,我们获取用户的输入,并调用 `is_prime` 函数进行判断,然后根据结果输出相应的信息。
阅读全文