编写一个子函数 int fun ( int n),其功能是判断整数n是否为素数,n是素数,返回值为1;n不是素数,返回值为0。调用该函数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示4个素数。
时间: 2024-12-15 22:15:54 浏览: 12
首先,我们可以编写一个名为 `is_prime` 的辅助函数来检查一个数字是否为素数。然后,我们为主函数 `print_primes` 创建一个循环,遍历从100到200的整数,并调用 `is_prime` 函数。如果数字是素数,就将其格式化成占4位并在屏幕上打印出来,同时保持每行显示4个素数。
```c
#include <stdio.h>
#include <stdbool.h>
// 辅助函数,判断一个数是否为素数
bool is_prime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
// 主函数,打印指定范围内的素数
void print_primes(int start, int end) {
for (int n = start; n <= end; n++) {
if (is_prime(n)) {
// 格式化输出,占4位
printf("%04d", n);
if ((n + 1) % 4 != 0) continue; // 每行显示4个数
printf("\n");
}
}
}
int main() {
print_primes(100, 200); // 调用函数并打印100至200之间的素数
return 0;
}
```
在这个程序中,`is_prime` 函数通过检查从2到`sqrt(n)`是否有能整除n的因子来确定n是否是素数。主函数则负责遍历给定区间并按照规则打印素数。
阅读全文