函数 prime 的功能是:判断n 是否为素数,若是素数函数的返回值为1,否则返回0。在主函数中输入整数n并输出结果。
时间: 2025-01-20 17:16:07 浏览: 58
好的,我来为您编写一个判断素数的函数,并在主函数中调用它。以下是实现这个功能的C语言代码:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
int prime(int n);
int main() {
int n, result;
printf("请输入一个整数: ");
scanf("%d", &n);
result = prime(n);
if(result == 1) {
printf("%d 是素数\n", n);
} else {
printf("%d 不是素数\n", n);
}
return 0;
}
// 判断素数的函数
int prime(int n) {
if(n <= 1) return 0; // 1及以下的数不是素数
if(n == 2) return 1; // 2是素数
if(n % 2 == 0) return 0; // 其他偶数不是素数
int i;
int sqrt_n = (int)sqrt((double)n);
for(i = 3; i <= sqrt_n; i += 2) {
if(n % i == 0) {
return 0; // 如果能被整除,则不是素数
}
}
return 1; // 如果没有被整除,则是素数
}
```
这个程序的工作原理如下:
1. 我们定义了一个名为`prime`的函数,它接受一个整数参数`n`并返回一个整数。
2. 在`main`函数中,我们提示用户输入一个整数,并将其存储在变量`n`中。
3. 我们调用`prime`函数,将`n`作为参数传递给它,并将结果存储在`result`变量中。
4. 根据`result`的值,我们打印出相应的消息,指出`n`是否为素数。
5. 在`prime`函数中,我们首先处理了一些特殊情况:
- 小于等于1的数不是素数
- 2是素数
- 其他偶数不是素数
6. 然后,我们使用一个循环来检查`n`是否能被3到其平方根之间的任何奇数整除。
7. 如果`n`能被整除,则不是素数,函数返回0。
8. 如果循环结束后没有找到任何因数,则`n`是素数,函数返回1。
这个程序提供了一个有效的方法来判断素数,同时避免了不必要的计算。通过只检查到平方根和使用步长为2的循环,我们减少了需要进行的检查次数。
阅读全文
相关推荐


















