用c语言写一个程序:输出1到20之间所有的质数
时间: 2023-03-29 09:01:35 浏览: 253
以下是用 C 语言编写的程序,可以输出 1 到 20 之间所有的质数:
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 20; i++) {
flag = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == ) {
flag = ;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return ;
}
相关问题
请用c语言写一个程序:输入一个整数n,要求输出所有从1到这个整数之间个位为1的素数,如果没有则输出-1
在C语言中,我们可以编写一个简单的程序来实现这个需求。首先,我们需要一些辅助函数来判断一个数是否为素数。然后我们遍历给定范围内的数字,如果一个数的个位是1并且它是素数,就将其打印出来。以下是一个基本的实现:
```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("请输入一个整数: ");
scanf("%d", &n);
if (n < 2) {
printf("-1\n");
} else {
bool found = false;
for (int i = 2; i <= n; ++i) { // 从2开始,因为1不是素数
if (i % 10 == 1 && is_prime(i)) {
printf("%d ", i);
found = true;
}
}
if (!found) {
printf("-1\n"); // 如果没有找到个位为1的素数,输出-1
} else {
printf("\n");
}
}
return 0;
}
```
在这个程序中,用户会被提示输入一个整数,然后它会检查该范围内是否有个位为1的素数,并打印出结果。
用c语言写双循环程序题:输出10-30之间的非素数。
在C语言中,我们可以使用嵌套的for循环结构来实现这个任务。首先,我们需要确定10到30之间的所有整数,然后检查每个数是否是素数。以下是完成此任务的简单C代码:
```c
#include <stdio.h>
#include <stdbool.h> // 使用布尔类型来辅助判断
// 判断是否为素数的函数
bool is_prime(int num) {
if (num <= 1) return false; // 1不是素数
for (int i = 2; i * i <= num; i++) { // 只需检查到数的平方根即可
if (num % i == 0) return false;
}
return true;
}
int main() {
int start = 10;
int end = 30;
// 双层循环遍历10到30的所有整数
for (int i = start; i <= end; i++) {
for (int j = start; j <= end; j++) {
// 如果i和j都是非素数,则打印它们
if (!is_prime(i) && !is_prime(j)) {
printf("%d, %d\n", i, j);
}
}
}
return 0;
}
```
在这个程序中,我们通过内层循环遍历10到30的所有数字,并利用`is_prime`函数判断它们是否为素数。如果两个数都不是素数,就将它们打印出来。
阅读全文