用c语言编写函数fun输出m到n之间的所有素数,m小于n且m和n均为自然数,程序开头为void main()
时间: 2024-05-05 21:21:26 浏览: 16
很抱歉,void main() 不是标准的 C 语言函数入口,应该使用 int main()。另外,下面是一个用 C 语言编写的函数 fun,可以输出 m 到 n 之间的所有素数:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) return 0;
if (num == 2) return 1;
if (num % 2 == 0) return 0;
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) return 0;
}
return 1;
}
void fun(int m, int n) {
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int m = 1, n = 100;
fun(m, n);
return 0;
}
```
函数 is_prime 用于判断一个数是否为素数,函数 fun 用于输出 m 到 n 之间的所有素数。在 main 函数中,我们设置了 m=1, n=100,可以输出 1~100 之间的所有素数。如果需要输出其他区间的素数,只需要修改 m 和 n 的值即可。
相关问题
用c语言编写函数fun输出m到n之间的所有素数,m小于n且m和n均为自然数,程序开头要先输入m,n
以下是用C语言编写的函数fun输出m到n之间的所有素数的程序:
```c
#include <stdio.h>
int is_prime(int num) {
int i;
if (num < 2) {
return 0;
}
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
void fun(int m, int n) {
int i;
for (i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
int main() {
int m, n;
printf("请输入m和n(m小于n且m和n均为自然数):\n");
scanf("%d %d", &m, &n);
printf("m到n之间的素数有:\n");
fun(m, n);
return 0;
}
```
代码说明:
- `is_prime` 函数用于判断一个数是否为素数,如果是素数返回 1,否则返回 0。
- `fun` 函数用于输出 m 到 n 之间的所有素数,调用了 `is_prime` 函数。
- `main` 函数用于输入 m 和 n,并调用 `fun` 函数输出 m 到 n 之间的所有素数。
使用c++编写函数fun输出m到n之间的素数。m小于n且m和n均为自然数。
以下是一个C++实现的函数fun,可以输出m到n之间的素数:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> fun(int m, int n) {
vector<int> primes;
for (int i = m; i <= n; i++) {
bool is_prime = true;
if (i > 1) {
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
is_prime = false;
break;
}
}
if (is_prime) {
primes.push_back(i);
}
}
}
return primes;
}
int main() {
int m = 1;
int n = 100;
vector<int> result = fun(m, n);
for (int i = 0; i < result.size(); i++) {
cout << result[i] << " ";
}
cout << endl;
return 0;
}
```
使用方法:
将上面的代码保存为一个.cpp文件,使用C++编译器编译并运行即可。
输出结果:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
与Python实现相比,这个C++实现使用了vector容器来存储结果,并且在判断素数时使用了更加高效的算法。