用C语言编写程序,判断m是否为素数
时间: 2023-12-13 19:04:08 浏览: 127
可以使用以下代码来判断一个数是否为素数:
```c
#include <stdio.h>
int main()
{
int m, flag = 1;
scanf("%d", &m);
if (m <= 1)
{
flag = 0;
}
else
{
for (int i = 2; i * i <= m; i++)
{
if (m % i == 0)
{
flag = 0;
break;
}
}
}
if (flag == 1)
{
printf("%d是素数\n", m);
}
else
{
printf("%d不是素数\n", m);
}
return 0;
}
```
其中,flag变量用于标记是否为素数,初始值为1,表示是素数。如果m小于等于1,则直接判定为非素数;如果m大于1,则从2开始枚举到平方根m为止,如果m能被枚举到的数整除,则标记为非素数,跳出循环。最后根据flag的值输出判断结果。
相关问题
用c语言编写程序判断数m是否为素数(只能被一和他本身整除的整数)?
好的,根据您的要求,我可以为您提供以下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文件并编译运行,然后根据提示输入一个整数,程序将会输出结果。
C语言编写程序:100以内的素数。题目内容:求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。
好的,以下是C语言的程序实现:
```
#include <stdio.h>
int prime(int m) {
int i;
for (i = 2; i <= m / 2; i++) {
if (m % i == 0) {
return 0; // 不是素数,返回0
}
}
return 1; // 是素数,返回1
}
int main() {
int count = 0, i;
for (i = 2; i <= 100; i++) {
if (prime(i)) {
printf("%d ", i);
count++;
if (count % 10 == 0) { // 每行输出10个
printf("\n");
}
}
}
return 0;
}
```
首先定义了一个判断素数的函数prime(m),在主函数中循环判断每个数是否为素数,并在符合条件的情况下输出并计数,每输出10个换行。
阅读全文