编写c语言程序,输出1~100之间的全部素数
时间: 2023-10-26 09:07:23 浏览: 93
```
#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;
}
int main() {
printf("1~100之间的素数有:\n");
for (int i = 2; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
相关问题
用C语言编写程序输出m~n之间的素数,且n>m>3
在C语言中,我们可以利用循环和条件判断来编写一个函数,该函数用于找出两个给定整数m和n之间的所有素数。素数是只有1和自身两个正因数的自然数。以下是简单的步骤:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) { // 只需要检查到sqrt(num),因为超过它之后因子会成对出现
if (num % i == 0)
return 0;
}
return 1;
}
// 输出m到n之间的所有素数
void print_primes(int m, int n) {
if (m > n || m <= 1) { // 确保m大于3并且m小于等于n
printf("输入错误,m应该大于3且m<n.\n");
return;
}
printf("%d ", m); // 如果m本身就是素数,则先打印出来
for (int i = m + 1; i <= n; i++) {
if (is_prime(i))
printf("%d ", i);
}
printf("\n");
}
int main() {
int m = 10, n = 50; // 示例的m和n值
print_primes(m, n);
return 0;
}
```
在这个例子中,`is_prime`函数用于检测一个数是否为素数,`print_primes`函数负责查找并打印指定范围内的素数。
编写c语言程序,输出m~n中的全部素数
```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` 是否为素数。
阅读全文