如何用C语言编写程序来计算并打印一定范围内的素数个数并将它们排列成数列?
时间: 2024-12-17 09:22:56 浏览: 4
在C语言中,我们可以编写一个程序来计算并打印给定范围内(例如从2到n)的素数个数,并将它们存储在一个数组中。以下是一个简单的步骤:
1. **定义函数**:
- `isPrime` 函数用于检查一个数是否是素数。
- `countPrimes` 函数负责计算并返回素数个数。
- `printPrimes` 函数打印素数数组。
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) { // 只需检查到√num即可
if (num % i == 0)
return false;
}
return true;
}
int countPrimes(int n) {
int count = 0;
for (int i = 2; i <= n; i++)
count += isPrime(i);
return count;
}
void printPrimes(int primes[], int size) {
printf("素数数列:");
for (int i = 0; i < size; i++) {
printf("%d ", primes[i]);
}
printf("\n");
}
int main() {
int n = 100; // 范围选择
int primes[countPrimes(n)]; // 初始化足够大的数组
int primeCount = countPrimes(n);
// 计算并存储素数
for (int i = 2; i <= n; i++) {
if (isPrime(i))
primes[primeCount++] = i;
}
// 打印素数
printPrimes(primes, primeCount);
return 0;
}
```
阅读全文