C语言求两个数字之间的质数
时间: 2024-02-11 21:04:06 浏览: 118
这里提供一种简单的 C 语言代码,可以求出两个数字之间的所有质数:
```
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int is_prime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n1, n2, i;
printf("请输入两个数字,用空格隔开:");
scanf("%d %d", &n1, &n2);
printf("两个数字之间的质数为:\n");
for (i = n1; i <= n2; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
这段代码中,我们定义了一个 `is_prime` 函数,用于判断一个数是否为质数。如果一个数小于等于 1,则不是质数,直接返回 0;否则,我们从 2 开始到这个数的平方根进行循环,如果存在一个因子,则这个数不是质数,返回 0;否则,这个数是质数,返回 1。
在主函数中,我们首先读取用户输入的两个数字 `n1` 和 `n2`,然后从 `n1` 到 `n2` 进行循环,对于每个数,调用 `is_prime` 函数进行判断,如果是质数,则输出这个数。
需要注意的是,这段代码中没有对用户输入的数字进行合法性检查,如果用户输入的数字不合法,程序可能会崩溃或者输出错误的结果。为了保证程序的健壮性,应该在读取用户输入的数字之后进行合法性检查。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)