用c语言,编写一个函数prime(n),返回给定整数n是否为素数;编写一个主函数,输入一个整数,调用prime函数判断是否为素数,并输出结果
时间: 2024-10-07 20:07:30 浏览: 35
在 C 语言中,我们可以编写两个函数来实现这个功能:一个用于检查整数是否为素数(prime函数),另一个作为主函数(main函数)接收用户输入并调用 prime 函数。
首先,我们创建一个名为 `is_prime` 的辅助函数,用于检查一个数是否为素数。我们将这个函数设计为递归的,因为它可以有效地处理较大的数字:
```c
#include <stdbool.h> // 引入布尔型
bool is_prime(int num, int divisor) {
if (divisor > sqrt(num)) { // 如果除数大于num的平方根,那么剩余部分不会超过一半,所以肯定不是质数
return true;
} else if (num % divisor == 0) { // 如果能被整除,说明不是质数
return false;
} else {
return is_prime(num, divisor + 1); // 否则继续递归检查下一个数
}
}
// 主函数 main()
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
bool result = is_prime(n, 2); // 从2开始检查,因为所有偶数(除了2)都不是质数
if (result)
printf("%d 是质数。\n", n);
else
printf("%d 不是质数。\n", n);
return 0;
}
```
阅读全文