用c语言。题目描述 本题要求实现函数判断是否为素数,定义并调用函数prime(n)。 输入m个数,判断有多少个素数。 输入 第一行输入正整数m 第二行输入m个正整数 输出 计算共有几个素数
时间: 2023-06-10 17:05:57 浏览: 90
以下是C语言代码实现:
```
#include <stdio.h>
int prime(int n) {
int i;
for (i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, i, num, count = 0;
scanf("%d", &m);
for (i = 0; i < m; i++) {
scanf("%d", &num);
if (prime(num)) {
count++;
}
}
printf("%d", count);
return 0;
}
```
首先定义了一个函数 `prime`,用来判断一个数是否为素数。接着在 `main` 函数中,先读入需要判断的数的个数 `m`,然后循环读入每个数,并调用 `prime` 函数判断是否为素数,如果是,计数器 `count` 加 1。最后输出 `count` 即可。
相关问题
c语言实现本题要求实现函数判断是否为素数,定义并调用函数prime(n)。 输入m个数,判断有多少个素数。 输入 第一行输入正整数m 第二行输入m个正整数 输出 计算共有几个素数
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, num, count = 0;
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d", &num);
if (prime(num)) {
count++;
}
}
printf("%d\n", count);
return 0;
}
```
首先在 `prime` 函数中,我们使用了一个循环来判断一个数是否为素数,具体方法是从 2 开始到这个数的一半,逐个判断是否能被整除。如果能被整除,那么就不是素数,返回 0。如果一直循环到这个数的一半都没有找到能整除它的数,那么就是素数,返回 1。
在 `main` 函数中,我们先读入一个整数 `m`,表示接下来要输入 `m` 个数。然后使用一个循环,逐个读入这 `m` 个数,并把每个数传递给 `prime` 函数进行判断。如果是素数,那么计数器 `count` 加一。最后输出 `count` 就是共有几个素数。
c语言,本题要求实现函数判断是否为素数,定义并调用函数prime(n)。 输入m个数,判断有多少个素数。 第一行输入正整数m ,第二行输入m个正整数。 输出共有几个素数
以下是实现该功能的代码:
```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` 的值,即为有多少个素数。
阅读全文