使用c语言实现素数反序
时间: 2024-02-21 09:04:23 浏览: 72
以下是使用 C 语言实现素数反序的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否为素数
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
// 实现素数反序
void reverse_primes(int n) {
int nums[n], count = 0;
for (int i = 2; i < n; i++) {
if (is_prime(i)) {
nums[count++] = i;
}
}
for (int j = count - 1; j >= 0; j--) {
printf("%d ", nums[j]);
}
}
// 测试
int main() {
reverse_primes(20); // 输出:19 17 13 11 7 5 3 2
return 0;
}
```
该程序的实现方式与 Python 版本类似,主要是定义了 `is_prime` 和 `reverse_primes` 两个函数。`is_prime` 函数用于判断一个数是否为素数,`reverse_primes` 函数用于获取小于 n 的素数列表并反转输出。最后在 `main` 函数中调用 `reverse_primes` 函数并传入参数 20,即可得到小于 20 的素数反序列表。
阅读全文