编写一个C语言程序,判断从键盘输入的正整数n是否是素数,判断素数的语录写在子函数中
时间: 2024-09-13 19:17:10 浏览: 68
输入一个正整数,判断是不是素数(C++)
在C语言中,编写一个程序来判断输入的正整数n是否是素数,我们可以首先定义一个子函数来执行素数的判断逻辑。素数是指只能被1和它本身整除的大于1的自然数。以下是一个简单的实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 子函数声明
bool isPrime(int n);
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n); // 从键盘读取一个整数
// 调用子函数判断是否为素数,并输出结果
if (isPrime(n)) {
printf("%d 是素数。\n", n);
} else {
printf("%d 不是素数。\n", n);
}
return 0;
}
// 子函数定义
bool isPrime(int n) {
if (n <= 1) {
return false; // 小于等于1的数不是素数
}
for (int i = 2; i * i <= n; i++) { // 只需检查到sqrt(n)即可
if (n % i == 0) {
return false; // 如果找到一个除数,则n不是素数
}
}
return true; // 所有测试都未找到除数,n是素数
}
```
程序首先包含了`stdio.h`和`stdbool.h`头文件,分别用于输入输出和布尔类型。`isPrime`函数用于判断一个整数是否是素数,如果`n`是素数则返回`true`,否则返回`false`。在`main`函数中,我们读取用户输入的整数`n`,并调用`isPrime`函数进行判断,最后输出结果。
阅读全文