设计一个函数 fun(n),其中 2<=m<n,输出[mn]之间的素数。在主函数中输入实参,调用函数。“(提示:可以在主函数中使用循环语句控制实参的范围)c语言
时间: 2024-04-30 09:21:30 浏览: 75
以下是 C 语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
int i;
for (i = 2; i < sqrt(num) + 1; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
void fun(int n, int m) {
int i, j;
for (i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
int main() {
int n, m;
printf("请输入n和m:");
scanf("%d %d", &n, &m);
for (int i = m; i <= n; i++) {
fun(i, m);
printf("\n");
}
return 0;
}
```
函数 `is_prime` 用于判断一个数是否为素数,函数 `fun` 用于输出指定范围内的素数。在主函数中,使用循环语句控制实参的范围,并且调用函数 `fun` 输出每一个范围内的素数。
相关问题
设计一个函数fun(m,n),其中2<=m<n,输出[m,n]之间的素数。在主函数中输入实参,调用函数。
以下是使用 Python 语言实现的代码:
```python
def fun(m, n):
"""
输出[m,n]之间的素数
"""
primes = [] # 用于存储素数的列表
for num in range(m, n+1):
if num > 1: # 1不是素数
for i in range(2, int(num**0.5)+1):
if num % i == 0:
break
else:
primes.append(num)
return primes
# 测试
m = 2
n = 20
print(fun(m, n)) # 输出 [2, 3, 5, 7, 11, 13, 17, 19]
```
函数 `fun(m, n)` 首先创建一个空列表 `primes`,用于存储素数。然后使用 `range()` 函数遍历区间 `[m, n]` 中的每个整数,对于每个整数,如果大于 1,则使用一个循环遍历从 2 到该数的平方根之间的每个整数,判断该数是否能被整除。如果能被整除,则说明该数不是素数,直接跳出循环;否则,将该数加入 `primes` 列表中。最后返回 `primes` 列表。
用c语言设计一个函数fun(m,n),其中2<=m<n,输出[m,n]之间的素数,在主函数中输入实参,调用函数
以下是用C语言设计的fun(m,n)函数,它可以输出[m,n]之间的素数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num);
void fun(int m, int n) {
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int m, n;
printf("请输入m和n(2 <= m < n):");
scanf("%d %d", &m, &n);
fun(m, n);
return 0;
}
```
在主函数中,我们先输入m和n,然后调用fun(m,n)函数输出[m,n]之间的素数。is_prime函数用于判断一个数是否为素数。
阅读全文
相关推荐

















