c语言,本题要求实现函数判断是否为素数,定义并调用函数prime(n)。 输入m个数,判断有多少个素数。 第一行输入正整数m ,第二行输入m个正整数。 输出共有几个素数
时间: 2024-02-01 17:16:29 浏览: 71
以下是实现该功能的代码:
```c
#include <stdio.h>
int prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, count = 0;
scanf("%d", &m);
for (int i = 0; i < m; i++) {
int n;
scanf("%d", &n);
if (prime(n)) {
count++;
}
}
printf("%d\n", count);
return 0;
}
```
首先,我们定义了一个 `prime` 函数,用于判断一个数是否为素数。如果该数小于等于 1,则不是素数;否则,从 2 到 $\sqrt{n}$ 的范围内逐个判断该数是否能被整除,如果存在一个数能够整除该数,则该数不是素数,返回 0;否则,该数是素数,返回 1。
接下来,在 `main` 函数中,我们先输入正整数 `m`,表示接下来要输入 `m` 个正整数。然后,我们使用一个循环输入这 `m` 个正整数,并在每次输入后调用 `prime` 函数判断该数是否为素数。如果是素数,则计数器 `count` 加一。最后,输出计数器 `count` 的值,即为有多少个素数。
阅读全文