C语言题目描述 一个正整数如果只有1和它本身两个因子,称为为素数。现在请你输出正整数m 和n 之间的素数(包含m 和n ),如果没有,输出no 输入描述 m n 输出描述 m 和n 之间的素数,每行5个,且每个输出数字后面有一个空格。
时间: 2024-09-29 18:03:49 浏览: 108
C语言判断一个数是否为素数方法解析
5星 · 资源好评率100%
在C语言中,你可以使用循环和条件判断来解决这个问题。下面是一个简单的步骤:
1. 定义一个函数`is_prime()`,用于检查一个数是否是素数。这个函数会遍历从2到该数减一的所有数,如果找到能整除的数,就返回`false`,否则返回`true`。
```c
int is_prime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
```
2. 主程序部分接收用户输入的m和n,然后用一个循环遍历[m, n]范围内的所有整数,如果是素数,则按照要求打印出来,每五个一组,用空格隔开。如果在范围内找不到素数,可以打印"no"。
```c
#include <stdio.h>
int main() {
int m, n;
printf("请输入m和n的值: ");
scanf("%d %d", &m, &n);
if (m > n) {
int temp = m;
m = n;
n = temp;
}
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
if ((i + 4) <= n && is_prime(i + 4)) {
printf("%d %d %d %d ", i, i+1, i+2, i+3);
} else if (is_prime(i + 1)) {
printf("%d %d ", i, i+1);
} else {
printf("%d\n", i);
}
}
}
return 0;
}
```
阅读全文