用c语言输入一个正整数,判断它是否为素数。
时间: 2023-06-19 09:10:15 浏览: 85
以下是判断一个正整数是否为素数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n, i, isPrime = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
if (n <= 1) {
isPrime = 0;
} else {
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
isPrime = 0;
break;
}
}
}
if (isPrime) {
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
```
首先,我们从用户输入一个正整数开始。如果这个数小于等于 1,那么它不是素数,因为素数只能是大于 1 的数,所以 `isPrime` 标志位赋值为 0。
否则,我们从 2 开始,一直循环到 $i*i \le n$ 为止,判断这个正整数是否可以被 $2$ 到 $\sqrt{n}$ 之间的任意一个数整除。如果可以,就说明它不是素数,将 `isPrime` 标志位赋值为 0,并跳出循环。
最后,我们根据 `isPrime` 标志位的值输出相应的结果。
相关问题
用c语言写输入一个正整数m,判断它是否为素数
```c
#include <stdio.h>
int main() {
int m, i, flag = 1;
printf("请输入一个正整数:");
scanf("%d", &m);
for (i = 2; i <= m / 2; i++) {
if (m % i == 0) {
flag = 0;
break;
}
}
if (flag == 1 && m > 1) {
printf("%d是素数\n", m);
} else {
printf("%d不是素数\n", m);
}
return 0;
}
```
说明:
首先,我们输入一个正整数m。
接着,我们使用一个for循环,从2开始到m/2结束,依次判断m是否能被i整除。
如果能被整除,则说明m不是素数,将flag置为0,并跳出循环。
最后,我们根据flag的值判断m是否是素数,并输出结果。
需要注意的是,1不是素数。
c语言输入一个正整数判断素数
以下是两种C语言判断素数的例子:
1.使用for循环判断
```c
#include <stdio.h>
int main() {
int i, m;
printf("输入一个正整数:");
scanf("%d", &m);
for(i = 2; i <= m/2; i++) {
if(m % i == 0) {
break;
}
}
if(i > m/2 && m != 1) {
printf("%d是素数!", m);
} else {
printf("%d不是素数!", m);
}
return 0;
}
```
2.使用变量判断
```c
#include <stdio.h>
int main() {
int x;
int i;
int isPrime = 1;
printf("请输入一个正整数:");
scanf("%d", &x);
for(i = 2; i < x; i++) {
if(x % i == 0) {
isPrime = 0;
break;
}
}
if(isPrime == 1) {
printf("%d 是素数", x);
} else {
printf("%d 不是素数", x);
}
return 0;
}
```