C语言代码(不额外定义函数) 判断100-200之间的全部素数并输出,每行输出10个
时间: 2024-10-15 17:28:27 浏览: 30
在C语言中,判断100到200之间的素数并不建议直接在代码中逐个检查每个数,因为这效率不高,尤其是对于较大的范围。一种更有效的方法是使用“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。以下是简单的代码示例,用于输出100到200之间每行打印10个素数:
```c
#include <stdio.h>
#include <stdbool.h>
#define START 100
#define END 200
#define LIMIT (END - START + 1)
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
void print_primes() {
int count = 0;
for (int i = START; i <= END && count < LIMIT / 10; ++i) { // 每次循环打印10个数
if (is_prime(i)) {
printf("%d ", i);
++count;
if ((count % 10) == 0) {
printf("\n"); // 当计数满10,换行
}
}
}
if (count % 10 != 0) printf("\n"); // 输出最后一个非空行
}
int main() {
print_primes();
return 0;
}
```
在这个代码中,`is_prime` 函数用于检查一个数字是否为素数,`print_primes`函数则遍历指定范围内的数并打印素数,每打印完10个数就换一行。
阅读全文