输入一个正整数判断是否为素数运用c语言,并调用函数
时间: 2024-06-13 17:07:54 浏览: 133
以下是判断正整数是否为素数的C语言代码,其中使用了函数实现素数判断:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
```
在上面的代码中,isPrime()函数用于判断一个正整数是否为素数。如果是素数,返回true;否则返回false。主函数中,首先从键盘输入一个正整数n,然后调用isPrime()函数判断n是否为素数,并输出结果。
相关问题
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` 的值,即为有多少个素数。