设计一个函数实现素数判定(函数原型为int IsPrime(int x)),在main函数中调用该函数查找出2-100内的素数并输出。其中当x为素数时IsPrime函数返回1;否则返回0.
时间: 2024-12-19 13:26:44 浏览: 13
为了设计一个`IsPrime`函数来判断一个整数是否为素数,我们可以采用常见的算法,如试除法。首先,我们检查输入的数字是否小于2,因为2是最小的素数。然后,从3开始,一直除到输入数字的平方根,如果能被整除,那么就不是素数,返回0。否则,就是素数,返回1。以下是完整的代码实现:
```c
#include <stdio.h>
#include <stdbool.h> // 使用stdbool_t表示布尔值
// 素数判定函数
bool IsPrime(int x) {
if (x < 2) {
return false; // 小于2的数都不是素数
}
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) {
return false; // 能被i整除,说明不是素数
}
}
return true; // 如果没有找到因子,那么它是素数
}
int main() {
for (int i = 2; i <= 100; i++) {
if (IsPrime(i)) {
printf("%d is a prime number.\n", i);
}
}
return 0;
}
```
在这个程序中,`IsPrime`函数接收一个整数作为参数,返回值是一个布尔值。在`main`函数中,我们遍历2到100之间的每个数,如果`IsPrime`返回true,我们就输出该数是素数。
阅读全文