c语言用选择法对数组中五个整数按降序排列
时间: 2024-03-20 22:44:03 浏览: 52
好的,您可以参考以下 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int a[5] = {5, 2, 4, 1, 3}; // 待排序数组
int temp; // 用于交换元素的临时变量
// 选择法排序
for (int i = 0; i < 4; i++) {
int max_index = i; // 记录最大元素的下标
for (int j = i + 1; j < 5; j++) {
if (a[j] > a[max_index]) {
max_index = j; // 更新最大元素的下标
}
}
// 将最大元素与当前元素交换
temp = a[i];
a[i] = a[max_index];
a[max_index] = temp;
}
// 输出排序后的数组
printf("排序后的数组为:");
for (int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
代码中,我们首先定义了一个包含五个整数的数组 `a`,用于存储待排序的元素。然后,使用选择法排序对数组进行降序排列。选择法排序的基本思路是每次从未排序的元素中选出最大的元素,然后将其与当前位置的元素交换。在循环中,我们先假定当前位置的元素为最大元素,然后从当前位置之后的元素中搜索最大元素,并记录其下标。接着,将最大元素与当前位置的元素交换。最后,我们输出排序后的数组。需要注意的是,在选择法排序中,每次交换元素都会引入一定的时间开销,因此在实际应用中需要考虑算法的效率。
阅读全文