分行输出指定范围内所有的素数(每行 5 个数)。输入整数 m 和 n(0<m<n<65535)。 每行输出 5 个素数,每个数占用 8 格。若 m 和 n 不满足 0<m<n<65535,则输出 Error。用c语言编程
时间: 2023-12-14 17:37:01 浏览: 267
以下是一个简单的 C 语言程序,可以实现分行输出指定范围内的所有素数:
```
#include <stdio.h>
// 判断一个数是否为素数
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
printf("请输入 m 和 n(0<m<n<65535):");
scanf("%d%d", &m, &n);
if (m <= 0 || n >= 65535 || m >= n) {
printf("Error\n");
return 0;
}
int count = 0;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%8d", i);
count++;
if (count % 5 == 0) {
printf("\n");
}
}
}
if (count % 5 != 0) {
printf("\n");
}
return 0;
}
```
程序中使用 `is_prime` 函数来判断一个数是否为素数,然后在 `main` 函数中循环判断指定范围内的所有数,并输出素数。为了满足输出格式要求,每输出 5 个数就换行。如果输入的 m 和 n 不满足要求,则输出 Error。
阅读全文