如何使用C语言编写一个函数,输出100到200之间所有的素数,并每打印出10个数后换行?
时间: 2024-12-02 14:16:32 浏览: 35
在C语言中,你可以使用循环结构以及一些基本的数学原理来编写这样一个函数。首先,我们需要判断一个数是否为素数。以下是步骤:
1. 定义一个函数`is_prime`,用于检查一个数是否为素数。这个函数会遍历从2到该数的平方根,如果找到能整除的因子,就返回`false`,否则返回`true`。
```c
#include <stdbool.h>
#include <math.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;
}
```
2. 然后定义主函数`print_primes`,它会遍历100到200之间的数字,对每个数调用`is_prime`函数,如果是素数则打印并换行。
```c
void print_primes(int start, int end) {
for (int num = start; num <= end; num++) {
if (is_prime(num)) {
printf("%d", num);
if ((num + 9) % 10 == 0 || num == end) { // 每打印10个数换行,最后一个数单独换行
printf("\n");
} else {
printf(", "); // 非最后一个数,打印逗号隔开
}
}
}
}
// 调用函数
int main() {
print_primes(100, 200);
return 0;
}
```
运行此程序,它将输出100到200之间所有的素数,每10个数换一行。
阅读全文