c语言,从键盘输入一个整数,判断是否为素数,若是输出该数,若不是输出0
时间: 2023-04-10 19:04:05 浏览: 294
以下是CSDN开发的C知道的回答:
可以使用以下代码来实现:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
scanf("%d", &n);
if (is_prime(n)) {
printf("%d\n", n);
} else {
printf("0\n");
}
return 0;
}
```
这个程序会从键盘输入一个整数,然后判断它是否为素数。如果是素数,就输出该数,否则输出0。
相关问题
c语言 编程实现,从键盘输入一个整数,判断是否为素数,若是输出该数,若不是输出0。 第一次运行程序 输入测试数据:5 程序运行结果:5 第二次运行程序 输入测试数据:12 程序运行结果:0
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1既不是素数也不是合数\n");
} else {
if (flag == 0)
printf("%d是素数\n", n);
else
printf("0\n");
}
return 0;
}
```
当输入5时,程序输出5,当输入12时,程序输出0。
希望能帮到你!
判断一个数是否素数。从键盘输入一个整数n 判断他是否为素数,并输出结果。用c语言写一段代码
判断一个数是否为素数的基本算法是试除法,即检查该数是否能被小于它的所有正整数整除。下面是一个简单的 C 语言程序,用于判断输入的整数 `n` 是否为素数:
```c
#include <stdio.h>
#include <stdbool.h> // 使用 bool 数据类型
bool isPrime(int n) {
if (n <= 1) { // 0 和 1 不是素数
return false;
} else if (n <= 3) { // 2 和 3 是素数
return true;
} else if (n % 2 == 0 || n % 3 == 0) { // 排除偶数和能被 3 整除的数
return false;
}
for (int i = 5; i * i <= n; i += 6) { // 只需检查到 sqrt(n)
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
这个代码首先排除了0、1和2、3之外的数,然后只检查能被 6k±1 形式的数整除的情况,因为除了 2 和 3 以外,所有的素数都可以表示成这种形式。
阅读全文