在一个数组a中存放10个 正整数,求其中的所有的素 数。(用数组元素作为函数 的实参) 测试要求:在10个数中应包 括素数和非素数。用c语言
时间: 2024-12-19 19:28:33 浏览: 7
在C语言中,我们可以创建一个函数来检查数组中的每一个元素是否为素数,然后再返回素数的数量。这里我们定义一个辅助函数`is_prime()`用于判断一个数是否为素数,然后在主函数中调用该函数并统计素数。以下是详细的代码:
```c
#include <stdio.h>
#include <stdbool.h> // 引入布尔类型,便于判断
// 辅助函数,判断一个数是否为素数
bool is_prime(int n) {
if (n <= 1) {
return false;
} else if (n == 2) {
return true;
} else if (n % 2 == 0) {
return false;
}
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
// 主函数,找出数组中的素数个数
int find_primes(int a[], int size) {
int prime_count = 0;
for (int i = 0; i < size; i++) {
if (is_prime(a[i])) {
prime_count++;
}
}
return prime_count;
}
int main() {
int numbers[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // 示例数组包含素数和非素数
int array_size = sizeof(numbers) / sizeof(numbers[0]);
int primes_in_array = find_primes(numbers, array_size);
printf("数组中包含的素数个数是: %d\n", primes_in_array);
return 0;
}
```
在这个程序中,`find_primes`函数遍历数组`numbers`,对于每个元素,如果通过`is_prime`函数验证它是个素数,就增加计数器`prime_count`。然后主函数会输出数组中素数的个数。
阅读全文