关任务:输出给定范围以内的所有素数。输出时,每行显示10个数。 程序从测试集中读取到数据范围m,求2~m之间所有素数 用c语言代码怎么写
时间: 2024-11-28 18:27:24 浏览: 22
在C语言中,我们可以编写一个简单的循环程序来找到指定范围内(2到m)的所有素数。以下是一个基本的代码片段,它使用了埃拉托斯特尼筛法(Sieve of Eratosthenes):
```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 count = 0;
int prime;
for (prime = 2; prime <= m; prime++) { // 从2开始检查每个数
if (is_prime(prime)) {
printf("%d ", prime);
count++;
// 打印10个素数后换行
if (count % 10 == 0) {
printf("\n");
}
}
}
if (count % 10 != 0) printf("\n"); // 如果还有剩余的素数,单独打印一行
}
int main() {
int m; // 输入的数据范围
printf("请输入数据范围m: ");
scanf("%d", &m);
print_primes(m); // 调用函数输出素数
return 0;
}
```
阅读全文