用c语言基础找出一个整形数组中的所有素数,存放到另一个数组中,打印出该数组中的素数,并返回素数的个数
时间: 2024-04-16 10:27:16 浏览: 130
求素数的C语言版本程序
好的,我可以帮你解决这个问题。以下是一个用 C 语言编写的解决方案:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int arr[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = sizeof(arr) / sizeof(arr[0]);
int primeArr[size];
int primeCount = 0;
for (int i = 0; i < size; i++) {
if (isPrime(arr[i])) {
primeArr[primeCount++] = arr[i];
}
}
printf("素数数组:");
for (int i = 0; i < primeCount; i++) {
printf("%d ", primeArr[i]);
}
printf("\n素数个数:%d\n", primeCount);
return 0;
}
```
运行该代码,输出为:
```
素数数组:2 3 5 7
素数个数:4
```
这段代码定义了一个 `isPrime` 函数,用于判断一个数是否为素数。然后,在 `main` 函数中,我们遍历整数数组 `arr`,对每个元素调用 `isPrime` 函数进行判断,如果是素数,则将其存入 `primeArr` 数组,并维护一个计数器 `primeCount` 来记录素数的个数。最后,打印出素数数组和素数的个数。
希望这个答案能够帮到你!如果有任何疑问,请随时提问。
阅读全文