写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备测试数据:17,34,2,1,0。分别运行并检查结果是否正确。要求所编写的程序,主函数的位置在其他函数之前,在主函数中对其所调用的函数作声明。用c语言写代码解决问题
时间: 2025-02-02 18:11:02 浏览: 32
以下是用C语言编写的程序,用于判别素数,并在主函数中调用该函数进行测试:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数声明
bool isPrime(int num);
int main() {
// 测试数据
int testNumbers[] = {17, 34, 2, 1, 0};
int size = sizeof(testNumbers) / sizeof(testNumbers[0]);
// 遍历测试数据并输出结果
for (int i = 0; i < size; i++) {
if (isPrime(testNumbers[i])) {
printf("%d 是素数。\n", testNumbers[i]);
} else {
printf("%d 不是素数。\n", testNumbers[i]);
}
}
return 0;
}
// 判断素数的函数实现
bool isPrime(int num) {
if (num <= 1) {
return false;
}
if (num == 2) {
return true;
}
if (num % 2 == 0) {
return false;
}
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
```
在这个程序中:
1. `isPrime`函数用于判断一个整数是否为素数。
2. 主函数`main`中,我们定义了一个包含测试数据的数组`testNumbers`。
3. 使用`for`循环遍历测试数据,调用`isPrime`函数进行判断,并输出结果。
运行这个程序时,输出结果应该如下:
```
17 是素数。
34 不是素数。
2 是素数。
1 不是素数。
0 不是素数。
```
阅读全文