C语言问题描述】编写函数,判断一个整数是否为素数,并在主函数中找出键盘输入的两个整数之间的所有素数,在屏幕上输出时每行输出8个。 【输入形式】两个正整数 【输出形式】两个整数之间的所有素数
时间: 2024-10-20 15:12:30 浏览: 57
在C语言中,可以编写一个函数来判断一个整数是否为素数,然后遍历用户输入的两个整数范围内的数字,逐一检查并打印出所有的素数。以下是实现这个功能的一个示例:
```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;
}
void print_primes(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
if ((i + 1) % 8 == 0) { // 每打印8个数换行
printf("\n");
}
}
}
printf("\n"); // 结束循环后加一个换行符
}
int main() {
int num1, num2;
printf("请输入两个正整数: ");
scanf("%d%d", &num1, &num2);
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
print_primes(num1, num2);
return 0;
}
```
在这个程序中,`is_prime()` 函数用于判断一个数是否为素数,而 `print_primes()` 函数则负责找到指定范围内的素数并按每行8个数的方式输出。主函数读取用户的输入,并根据输入调整开始和结束值,然后调用 `print_primes()` 函数。
阅读全文