用c语言写一个判断101到200之间所有素数明书出的程序
时间: 2024-10-17 07:07:53 浏览: 24
在 C 语言中编写一个判断 101 到 200 之间所有素数并打印出来的程序,可以采用经典的 "埃拉托斯特尼筛法"(Sieve of Eratosthenes)。下面是一个简单的示例:
```c
#include <stdio.h>
#define LIMIT 200
void print_primes() {
// 初始化布尔数组表示每个数字是否是素数
int is_prime[LIMIT + 1] = {0};
for (int i = 2; i * i <= LIMIT; i++) {
if (is_prime[i]) {
// 如果 i 是素数,则将它的倍数标记为合数
for (int j = i * i; j <= LIMIT; j += i)
is_prime[j] = 1;
}
}
// 打印素数
printf("素数在 101 到 200 之间的有:\n");
for (int i = 101; i <= LIMIT; i++)
if (!is_prime[i])
printf("%d ", i);
printf("\n");
}
int main() {
print_primes();
return 0;
}
```
在这个程序中,我们首先创建一个布尔数组 `is_prime`,然后从 2 开始遍历到 sqrt(LIMIT),对于每一个素数,将其之后的所有倍数标记为非素数。最后,我们检查从 101 到 200 的范围内的数,如果它们没有被标记为合数,则是素数。
阅读全文