输入a,b两个数,使用c语言:输出[a,b]之间的所有素数,要求每行输出7个素数(素数之间用空格间隔),如果[a,b]不存在素数,输出“no”
时间: 2023-05-29 20:05:18 浏览: 158
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) { // 判断素数的函数
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
int cnt = 0; // 计数器,每行输出7个素数
int flag = 0; // 标记,判断是否存在素数
int i;
for (i = a; i <= b; i++) {
if (isPrime(i)) {
if (cnt == 0) { // 如果是每行的第一个素数,不需要输出空格
printf("%d", i);
} else {
printf(" %d", i);
}
cnt++;
if (cnt == 7) { // 每行输出7个素数
printf("\n");
cnt = 0;
}
flag = 1;
}
}
if (flag == 0) { // 如果不存在素数,输出"no"
printf("no");
} else if (cnt != 0) { // 如果最后一行不足7个素数,需要换行
printf("\n");
}
return 0;
}
```
阅读全文