c语言 印100~200之间的素数
时间: 2024-12-08 21:23:22 浏览: 13
在C语言中,我们可以编写一个程序来打印100到200之间的所有素数。素数是只有两个正因数(1和自身)的自然数。以下是简单的算法实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数的辅助函数
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;
}
// 打印100到200之间素数的主函数
void print_primes_in_range(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
print_primes_in_range(100, 200);
return 0;
}
```
这个程序首先定义了一个判断素数的辅助函数`is_prime()`,然后在`print_primes_in_range()`函数中循环遍历指定范围内的每个数字,并利用`is_prime()`检查它们是否为素数。如果是素数,就打印出来。
相关问题
C语言打印100~200之间的素数
以下是C语言打印100~200之间的素数的代码:
```c
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 100; i <= 200; i++) {
flag = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
这段代码可以打印出100~200之间的素数,其中flag变量用于标记是否为素数,如果是素数则flag为1,否则为0。
c语言 印100~200之间的素数简单写法
在C语言中,打印100到200之间的素数可以采用嵌套循环的方式,通过“试除法”找出素数。下面是一个简单的实现:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) { // 从2到sqrt(num),因为大于这个值的因子必定有一个小于它
if (num % i == 0)
return false;
}
return true;
}
void print_primes_in_range(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
print_primes_in_range(100, 200);
return 0;
}
```
在这个代码里,`is_prime` 函数用于检查一个数是否是素数,`print_primes_in_range` 函数则遍历指定范围内的数并打印出素数。
阅读全文