#include <stdio.h> #include <stdbool.h> #include <math.h> void fun(int m, int n) { bool prime[n + 1]; memset(prime, true, sizeof(prime)); // 初始化全部为true for (int i = 2; i <= sqrt(n); i++) { if (prime[i]) { for (int j = i * 2; j <= n; j += i) { prime[j] = false; // 标记i的倍数为非素数 } } } // 输出[m,n]之间的素数 for (int i = m; i <= n; i++) { if (prime[i]) { printf("%d ", i); } } } int main() { int m = 2, n = 100; fun(m, n); return 0; }
时间: 2024-01-27 10:05:01 浏览: 130
这段代码实现了一个函数`fun(m,n)`,可以输出`[m,n]`之间的所有素数。具体实现过程和思路在之前的回答中已经讲解过了。
在`main()`函数中,定义了`m`和`n`的值分别为`2`和`100`,然后调用了`fun(m,n)`函数来输出`[2,100]`之间的素数。
如果需要输出其他范围内的素数,只需要修改`m`和`n`的值即可。
相关问题
#include <stdio.h> int fun(int x)
#include <stdio.h> 是C语言中的一个预处理指令,它告诉编译器在编译过程中要包含stdio.h头文件。stdio.h是标准输入输出库的头文件,其中包含了一些常用的输入输出函数的声明,比如printf和scanf。
int fun(int x) 是一个函数的声明,它定义了一个名为fun的函数,该函数接受一个整数参数x,并返回一个整数值。函数声明告诉编译器函数的名称、参数类型和返回类型,但不包含函数的具体实现。
include <stdio.h>#include <stdlib.h>
这是一个C语言的标准头文件的引用,其中<stdio.h>包含了C语言的输入输出函数,而<stdlib.h>包含了一些通用的工具函数和内存分配函数。这些头文件在C语言中非常常见,几乎每个C程序都会用到它们。下面是一个简单的例子,展示了如何使用这两个头文件。
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
char str[100];
printf("Enter an integer: ");
scanf("%d", &num);
printf("You entered %d.\n", num);
printf("Enter a string: ");
scanf("%s", str);
printf("You entered %s.\n", str);
return 0;
}
```
上面的程序使用了<stdio.h>中的printf和scanf函数,以及<stdlib.h>中的exit函数。输入一个整数和一个字符串,然后将它们输出到控制台上。
阅读全文