c语言编写实现函数判断是否为素数,定义并调用prime(n)函数,输入m个数,判断并输出素数的个数
时间: 2024-02-29 11:52:08 浏览: 143
好的,下面是C语言实现的代码:
```c
#include <stdio.h>
// 判断是否为素数
int prime(int n) {
int i;
for (i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main() {
int m, i, num, count = 0;
printf("请输入要判断的数字个数:");
scanf("%d", &m);
for (i = 0; i < m; i++) {
printf("请输入第%d个数字:", i + 1);
scanf("%d", &num);
if (prime(num)) {
printf("%d是素数\n", num);
count++;
}
}
printf("共有%d个素数\n", count);
return 0;
}
```
在这个程序中,我们定义了一个 `prime` 函数,用于判断一个数是否为素数。然后在 `main` 函数中,输入要判断的数字个数 `m`,并循环输入每一个数字,判断是否为素数,最后输出素数的个数。
相关问题
用c语言。题目描述 本题要求实现函数判断是否为素数,定义并调用函数prime(n)。 输入m个数,判断有多少个素数。 输入 第一行输入正整数m 第二行输入m个正整数 输出 计算共有几个素数
以下是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` 即可。
4.利用函数计算素数个数并求和:输入两个正整数m和n(1≤m,n≤500),统计并输出m和n之间的素数的个数以及这些素数的和。要求定义并调用函数prime(m)判断m是否为素数。试用c语言编写相应程序。
以下是用C语言编写的程序:
```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, n, count = 0, sum = 0;
printf("请输入两个正整数m和n,用空格隔开:");
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++){
if (prime(i)){
count++;
sum += i;
}
}
printf("%d和%d之间的素数个数为%d,它们的和为%d\n", m, n, count, sum);
return 0;
}
```
程序中先定义了一个 `prime()` 函数来判断一个数是否为素数。主函数中先输入两个正整数 `m` 和 `n`,然后在 `for` 循环中依次判断 `m` 到 `n` 之间的每个数是否为素数,若是素数,则计数器 `count` 加1,并将该素数加到变量 `sum` 中。最后输出结果。
需要注意的是,判断素数的函数中,循环的起始值应为2,因为所有数都可以被1整除。同时,循环的结束值应为n,因为n本身也需要进行判断。
阅读全文