用C语言写一个判断素数的小程序
时间: 2023-03-13 17:34:52 浏览: 116
我不是很熟悉C语言,但我可以提供一些指导:首先,你可以使用一个for循环来迭代每个数字,从2开始,然后检查它是否能被它之前的数字整除,如果不能则认为它是素数。然后,你可以使用一个if语句来检查它是否是素数,如果是,则输出一条消息,表明它是素数。
相关问题
c语言大于m的最小素数
以下是一个求解大于m的最小素数的C语言函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int min_prime(int m) {
int n = m + 1;
while (!is_prime(n)) {
n++;
}
return n;
}
int main() {
int m = 100;
int result = min_prime(m);
printf("大于%d的最小素数是%d\n", m, result);
return 0;
}
```
这个程序会先判断一个数是否为素数,然后不断增加n的值,直到找到一个大于m的素数。
用C语言写输入100内的素数
以下是用C语言写的输入100内的素数程序:
```c
#include <stdio.h>
int main() {
int i, j, flag;
printf("2 ");
for (i = 3; i <= 100; i += 2) {
flag = 1;
for (j = 2; j <= i / 2; ++j) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
代码解析:
首先输出2,因为2是最小的素数,然后从3开始循环到100,每次循环增加2,因为偶数不可能是素数。
在每次循环中,用flag变量标记当前数字是否是素数,初始值为1。
然后用一个内层循环判断当前数字是否是素数,从2循环到当前数字的一半,如果当前数字可以被整除,就将flag标记为0,跳出内层循环。
最后,如果flag仍然为1,说明当前数字是素数,输出该数字。
阅读全文