用c语言循环结构 从控制台输入整数n(n>=1),计算并输出从1到n之间(包括n)个位为1的所有素数,若没有符合要求的素数,则输出-1。
时间: 2024-11-22 15:46:13 浏览: 8
在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;
}
int main() {
int n;
printf("请输入一个大于等于1的整数: ");
scanf("%d", &n);
// 循环查找满足条件的素数
for (int i = 1; i <= n; i++) {
if (i % 10 == 1 && is_prime(i)) {
printf("%d ", i);
}
}
// 如果没有找到符合条件的素数,输出-1
if (i == n + 1) {
printf("-1\n");
} else {
printf("\n");
}
return 0;
}
```
在这个程序中,首先用户输入整数`n`,然后我们遍历从1到`n`的所有数字。如果一个数的个位是1,并且它是一个素数(通过`is_prime`函数检查),我们就将其打印出来。最后,如果没有找到符合条件的素数,就输出-1。
阅读全文