将一个一维数组中元素按从大到小顺序进行排序,并输出排序结果,数组长度n由输入给定
时间: 2024-02-18 14:00:06 浏览: 213
好的,以下是用C语言编写的将一维数组中元素按从大到小顺序进行排序的程序,并输出排序结果,数组长度n由输入给定:
```
#include <stdio.h>
void selectionSort(int arr[], int n);
int main() {
int n;
int a[100];
int i;
printf("请输入数组长度(不超过100):");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
selectionSort(a, n);
printf("排序后的数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
void selectionSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
int maxIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
if (maxIndex != i) {
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
```
程序中使用了选择排序算法,将输入的n个整数按从大到小的顺序进行排序,并输出结果。
阅读全文