输入10个整数,存放在一维数组中,对这10个数进行从高到低排序并输出。
时间: 2024-12-22 16:17:26 浏览: 4
要对10个整数进行从高到低(降序)排序并输出,我们可以使用选择排序算法。选择排序每次从未排序的部分中找到最大值,放到已排序部分的末尾。下面是C语言代码实现:
```c
#include <stdio.h>
// 交换数组中的两个元素
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 找到数组中最大的元素并返回其索引
int findMaxIndex(int arr[], int n) {
int maxIndex = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
// 主函数:进行选择排序
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int maxIndex = findMaxIndex(&arr[i], n - i - 1); // 遍历剩余未排序部分找最大值
swap(&arr[i], &arr[maxIndex]); // 将最大值移到已排序部分末尾
}
}
int main() {
int numbers[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
}
selectionSort(numbers, 10);
printf("从高到低排序后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
阅读全文