用指针判断素数返回个数
时间: 2023-04-03 09:02:52 浏览: 87
可以回答这个问题。以下是一个用指针判断素数并返回个数的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
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 count_primes(int *arr, int len) {
int count = 0;
for (int i = 0; i < len; i++) {
if (is_prime(*(arr + i))) {
count++;
}
}
return count;
}
int main() {
int arr[] = {2, 3, 5, 7, 11, 13, 17, 19};
int len = sizeof(arr) / sizeof(int);
int count = count_primes(arr, len);
printf("There are %d prime numbers in the array.\n", count);
return 0;
}
```
这个程序接受一个整数数组和数组长度作为参数,使用指针遍历数组中的每个元素,判断它是否是素数,最后返回素数的个数。在这个示例中,数组中有 8 个元素,其中有 6 个是素数,因此程序输出:
```
There are 6 prime numbers in the array.
```
阅读全文