以下是提取数组中的偶数,并且由高到低排列的C语言代码:
Copy code
#include <stdio.h>
void sort(int arr[], int n);
int main() {
int arr[] = {2, 4, 3, 7, 6, 8, 5};
int n = sizeof(arr) / sizeof(int);
int evenArr[n];
int evenCount = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
evenArr[evenCount] = arr[i];
evenCount++;
}
}
sort(evenArr, evenCount);
printf("Even numbers sorted in descending order: ");
for (int i = 0; i < evenCount; i++) {
printf("%d ", evenArr[i]);
}
return 0;
}
void sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
首先,我们定义一个空的数组evenArr来存储提取出来的偶数,并用evenCount变量追踪存储在数组中的偶数的数量。我们使用for循环遍历原始数组arr,并将偶数存储在evenArr中。我们重用一个排序函数将evenArr按降序排序,并使用for循环打印已排序的偶数数组evenArr。
运行上面的代码将输出以下结果:
Copy code
Even numbers sorted in descending order: 8 6 4 2
温馨提示:答案为网友推荐,仅供参考