编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
时间: 2024-05-01 19:22:36 浏览: 62
以下是一个实现该功能的 C 语言函数:
```c
#include <stdio.h>
#include <stdbool.h>
#define MAX 1000
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int fun(int lim, int aa[MAX]) {
int count = 0;
for (int i = 2; i < lim; i++) {
if (is_prime(i)) {
aa[count++] = i;
}
}
return count;
}
int main() {
int aa[MAX];
int count = fun(100, aa);
for (int i = 0; i < count; i++) {
printf("%d ", aa[i]);
}
printf("\n");
return 0;
}
```
首先定义了一个判断素数的函数 `is_prime(int n)`,然后在 `fun(int lim, int aa[MAX])` 函数中遍历小于 `lim` 的所有整数,对于每个整数,如果它是素数,则将其添加到 `aa` 数组中,并将计数器 `count` 加 1。最后返回计数器的值,即素数的个数。在 `main()` 函数中调用 `fun()` 函数并输出结果。
阅读全文