用C语言写一个程序判断输入的数是否是素数
时间: 2023-05-14 19:06:17 浏览: 94
以下是用 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("%d不是素数。\n", n);
}
return 0;
}
```
当用户输入一个正整数后,程序会遍历从 2 到该数的一半的所有数字,如果该数能被其中任意一个数字整除,则该数不是素数,否则该数是素数。
相关问题
用c语言写一个程序判断一个数是否为素数
### 回答1:
你好,这是 C 知道。以下是回答:
可以使用以下代码来判断一个数是否为素数:
```c
#include <stdio.h>
int main() {
int num, i, flag = ;
printf("请输入一个正整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; ++i) {
// 如果 num 能被 i 整除,则不是素数
if (num % i == ) {
flag = 1;
break;
}
}
if (flag == )
printf("%d 是素数", num);
else
printf("%d 不是素数", num);
return ;
}
```
希望能帮到你!
### 回答2:
以下是用C语言编写的一个判断一个数是否为素数的程序:
```c
#include <stdio.h>
// 判断一个数是否为素数
int isPrime(int num) {
// 当num小于等于1时,它不是素数
if (num <= 1) {
return 0;
}
// 遍历从2到num-1的每个数
for (int i = 2; i <= num/2; i++) {
// 如果num能被i整除,则num不是素数
if (num % i == 0) {
return 0;
}
}
// 如果遍历结束后都没有能整除num的数,那么num是素数
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 调用isPrime函数判断num是否为素数
if (isPrime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
这个程序的原理是,首先判断输入的数是否小于等于1,是的话直接返回0,表示它不是素数。然后从2开始遍历到num-1的每个数,判断能否整除num,如果能整除,则返回0,表示num不是素数。如果遍历结束后都没有找到能整除num的数,则返回1,表示num是素数。
在程序中,我们使用了一个自定义的函数`isPrime`来进行判断是否为素数。在`main`函数中,我们首先读取用户输入的数,然后调用`isPrime`函数进行判断,然后根据函数的返回结果输出结果。
### 回答3:
要用C语言编写一个判断一个数是否为素数的程序,可以按照以下步骤进行:
1. 首先,使用输入函数获取用户输入的整数。
2. 对用户输入的数进行判断,若为1或小于1的数,则不是素数。
3. 利用循环结构遍历从2到n-1的所有整数,判断是否能整除该数,若能,即有约数,不是素数。
4. 如果循环结束没有找到能整除该数的数,则该数为素数。
5. 使用条件判断语句输出结果,如果是素数,输出"是素数",否则输出"不是素数"。
下面是用C语言编写的判断一个数是否为素数的程序:
```c
#include <stdio.h>
int main() {
int num, i;
printf("请输入一个整数:");
scanf("%d", &num);
if (num <= 1) {
printf("不是素数");
return 0;
}
for (i = 2; i < num; i++) {
if (num % i == 0) {
printf("不是素数");
return 0;
}
}
printf("是素数");
return 0;
}
```
通过以上程序,可以判断用户输入的数是否为素数。如果是素数,则输出"是素数",否则输出"不是素数"。
写一个c语言程序判断输入整数是否是素数
好的,以下是一个判断输入整数是否是素数的C语言程序:
```c
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
flag = 1;
break;
}
}
if (num == 1) {
printf("%d不是素数。\n", num);
}
else {
if (flag == 0)
printf("%d是素数。\n", num);
else
printf("%d不是素数。\n", num);
}
return 0;
}
```
程序流程如下:
1. 提示用户输入一个整数。
2. 通过scanf函数读取用户输入的整数。
3. 判断输入的数是否是1,如果是1则输出不是素数。
4. 从2开始循环判断该数是否能被2到num/2之间的整数整除,如果存在一个整除因子,则该数不是素数。
5. 根据flag变量的值判断该数是否是素数并输出相应的结果。
希望能帮到您!
阅读全文