编写c语言程序,输出m~n中的全部素数
时间: 2023-11-01 09:13:42 浏览: 88
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num); // 判断一个数是否为素数
int main()
{
int m, n;
printf("请输入m和n,以空格隔开:");
scanf("%d %d", &m, &n);
printf("%d到%d之间的素数有:\n", m, n);
for (int i = m; i <= n; i++)
{
if (is_prime(i))
printf("%d ", i);
}
printf("\n");
return 0;
}
int is_prime(int num)
{
if (num <= 1)
return 0;
int max = sqrt(num);
for (int i = 2; i <= max; i++)
{
if (num % i == 0)
return 0;
}
return 1;
}
```
说明:
该程序通过调用 `is_prime()` 函数判断一个数是否为素数,然后遍历从 `m` 到 `n` 的所有整数,输出其中的素数。`is_prime()` 函数中采用了常规算法,通过枚举从 2 到 $\sqrt{num}$ 之间的所有整数来判断 `num` 是否为素数。
相关问题
c语言输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数
好的,以下是用C语言编写的程序,可以实现输入整型数据m和n(100<=m<=n<=200),然后输出m~n之间的所有素数:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
printf("请输入m和n(100<=m<=n<=200):");
scanf("%d %d", &m, &n);
printf("%d~%d之间的所有素数:\n", m, n);
for (int i = m; i <= n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
程序的运行结果如下:
```
请输入m和n(100<=m<=n<=200):120 150
120~150之间的所有素数:
127 131 137 139 149
```
希望这个程序能够帮到你,如果你还有其他问题,请随时提出。
输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数用C语言编程
以下是用C语言编写的程序,可以输出m~n之间的所有素数:
```c
#include <stdio.h>
// 判断是否为素数
int isPrime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n, i;
printf("请输入两个整数m和n(100<=m<=n<=200):\n");
scanf("%d%d", &m, &n);
printf("m~n之间的素数有:\n");
for (i = m; i <= n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
程序中的 `isPrime` 函数用于判断一个数是否为素数,其返回值为1表示是素数,返回值为0表示不是素数。主函数中使用循环遍历m~n之间的所有整数,调用 `isPrime` 函数判断是否为素数,如果是素数则输出。