用c语言输出m到n之间的全部素数
时间: 2023-05-13 18:07:02 浏览: 279
以下是用 C 语言输出 m 到 n 之间的全部素数的代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void print_primes(int m, int n) {
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int m, n;
printf("请输入 m 和 n:");
scanf("%d %d", &m, &n);
printf("%d 到 %d 之间的素数有:\n", m, n);
print_primes(m, n);
return 0;
}
```
这个程序会要求用户输入 m 和 n,然后输出 m 到 n 之间的所有素数。
相关问题
C语言输出m~n之间的素数(包括m和n,注意m和n的大小)。 【输入形式】 m n 【输出形式】 m~n之间的素数(m<n)
要在C语言中输出给定范围内的所有素数,你可以编写一个简单的函数,这个函数会遍历从m到n的所有数字,并检查它们是否为素数。下面是一个基本的示例代码:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0; // 如果能整除,说明不是素数
}
return 1; // 其他情况都是素数
}
void print_primes(int m, int n) {
printf("%d ", m); // 输出起始值(可能是素数)
for (int i = m + 1; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n"); // 结束后换行
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
if (m > n) { // 验证输入范围的有效性
printf("Error: m should be less than or equal to n.\n");
} else {
print_primes(m, n);
}
return 0;
}
```
当你运行这个程序并输入两个数m和n时,它将输出从m到n(包含m和n)之间的所有素数。
c语言求m到n之间的素数
以下是使用 C 语言编写的求 m 到 n 之间的素数的程序:
```c
#include <stdio.h>
int is_prime(int number) {
int i;
if (number <= 1) {
return 0;
}
for (i = 2; i * i <= number; i++) {
if (number % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n, i;
printf("请输入m和n的值:\n");
scanf("%d%d", &m, &n);
printf("m到n之间的素数有:\n");
for (i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
程序中使用了一个判断一个数是否为素数的函数 `is_prime()`,然后在 `main()` 函数中循环判断 m 到 n 之间的每个数是否为素数,如果是,则输出这个数。
阅读全文