输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。 输入格式: 在第一行输入一个正整数 n(1≤n≤20); 在第二行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。 输入样例: 10 71 39 45 18 87 28 67 91 53 7 输出样例: 素数的元素个数:4用c语言实现
时间: 2024-02-22 07:55:42 浏览: 125
好的,以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, count = 0;
int a[20];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (is_prime(a[i])) {
count++;
}
}
printf("素数的元素个数:%d\n", count);
return 0;
}
```
使用is_prime函数判断一个数是否为素数,然后遍历数组,对于每一个元素判断是否为素数,如果是素数则计数器加一。最后输出计数器的值即可。
输入样例:
```
10
71 39 45 18 87 28 67 91 53 7
```
输出样例:
```
素数的元素个数:4
```
相关问题
用C语言编写程序,输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数
bool isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n, count = 0;
int a[100];
printf("请输入正整数n:");
scanf("%d", &n);
printf("请输入n个数:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (isPrime(a[i])) {
count++;
}
}
printf("素数的元素个数为:%d\n", count);
return 0;
}
```
希望这个代码可以解决你的问题!
输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。 输入格式: 在第一行输入一个正整数 n(1≤n≤20); 在第二行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。 输入样例: 10 71 39 45 18 87 28 67 91 53 7 输出样例: 素数的元素个数:4
好的,我知道了。这是一个关于统计素数个数的问题,需要输入n个整数,统计其中素数的个数。具体做法是遍历数组,对于每一个元素判断是否为素数,如果是素数则计数器加一。最后输出计数器的值即可。
以下是示例代码实现:
```python
import math
n = int(input())
a = list(map(int, input().split()))
count = 0
for num in a:
if num < 2:
continue
is_prime = True
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
is_prime = False
break
if is_prime:
count += 1
print("素数的元素个数:{}".format(count))
```
输入样例:
```
10
71 39 45 18 87 28 67 91 53 7
```
输出样例:
```
素数的元素个数:4
```
阅读全文