用c语言编写程序判断数m是否为素数(只能被一和他本身整除的整数)?
时间: 2023-09-16 18:12:53 浏览: 101
好的,根据您的要求,我可以为您提供以下C语言代码来判断一个数是否为素数:
```c
#include <stdio.h>
int main() {
int m, i, is_prime = 1;
printf("请输入一个整数:");
scanf("%d", &m);
if (m <= 1) {
is_prime = 0;
} else {
for (i = 2; i < m; i++) {
if (m % i == 0) {
is_prime = 0;
break;
}
}
}
if (is_prime) {
printf("%d是素数\n", m);
} else {
printf("%d不是素数\n", m);
}
return 0;
}
```
以上代码中,我们用变量`is_prime`来表示是否为素数,初始化为1(即为素数),如果在循环中发现`m`能被`i`整除,则将`is_prime`赋值为0(即不是素数),并跳出循环。最后根据`is_prime`的值输出结果。注意,如果`m`小于等于1,直接将`is_prime`赋值为0。
您可以将以上代码保存为一个.c文件并编译运行,然后根据提示输入一个整数,程序将会输出结果。
相关问题
n 由键盘输入。素数是只能被1和自身整除的整数。要求编写函数 判断自然数 x 是否为素数 c语言
以下是一个简单的 C 语言函数,用于判断自然数 x 是否为素数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int x) {
if (x <= 1) return false;
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) return false;
}
return true;
}
int main() {
int x;
printf("请输入一个自然数 x:");
scanf("%d", &x);
if (isPrime(x)) {
printf("%d 是素数\n", x);
} else {
printf("%d 不是素数\n", x);
}
return 0;
}
```
该函数使用了一个 bool 类型的返回值,表示 x 是否为素数。如果 x 是素数,函数返回 true,否则返回 false。
在函数内部,首先判断 x 是否小于等于 1,如果是,直接返回 false。然后使用一个 for 循环,枚举从 2 到 sqrt(x) 的所有整数 i,如果存在一个 i 能够整除 x,说明 x 不是素数,直接返回 false。如果循环结束后都没有找到能够整除 x 的 i,说明 x 是素数,返回 true。
最后,在主函数中读入一个自然数 x,调用 isPrime 函数判断是否是素数,输出结果。
C语言编写程序从键盘输入一个正整数判断,该数是否为素数
您好,根据您的要求,我为您提供判断正整数是否为素数的C语言程序。请参考以下代码:
```
#include <stdio.h>
int main()
{
int n, i;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 2; i <= n-1; i++) {
if (n % i == 0) {
break;
}
}
if (i == n) {
printf("%d是素数。", n);
} else {
printf("%d不是素数。", n);
}
return 0;
}
```
该程序先从键盘读入一个正整数,然后通过一个for循环判断这个数是否为素数。如果这个数能被2到n-1之间的任何一个数整除,那么就不是素数;否则就是素数。