C语言求1-100素数个数,其中判断素数的功能用子函数实现
时间: 2024-12-18 15:38:13 浏览: 7
在C语言中,求解1到100之间素数的数量通常会使用一个名为`is_prime`的子函数来进行素数判断。首先,需要编写这个判断函数,然后遍历给定范围内的每个整数,对每一个数调用该函数并统计非零返回值的数量,因为非素数的判断会返回0。
以下是一个简单的实现示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数的子函数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 主函数计算并打印素数个数
int count_primes(int n) {
int prime_count = 0;
for (int i = 2; i <= n; i++) { // 开始从2开始,因为1不是素数
if (is_prime(i))
prime_count++;
}
printf("1到%d之间的素数有%d个。\n", n, prime_count);
return prime_count;
}
int main() {
int max_num = 100;
count_primes(max_num); // 调用主函数,计算1到100的素数个数
return 0;
}
```
在这个程序中,`count_primes`函数负责调用`is_prime`判断每个数字是否为素数,并累加计数。
阅读全文