可以使用冒泡排序算法來實現從大到小排序。
冒泡排序的基本思想是,從第一個元素開始,依次比較相鄰的兩個元素,如果前一個元素大于后一個元素,則交換它們的位置,這樣一趟下來,最大的元素就會被交換到最后的位置。然后再從第一個元素開始,進行第二次比較,以此類推,直到所有元素都排好序。
以下是使用冒泡排序算法實現從大到小排序的示例代碼:
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
// 交換兩個元素的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n;
printf("請輸入需要排序的數字個數:");
scanf("%d", &n);
int arr[n];
printf("請輸入%d個數字:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
printf("從大到小排序后的結果為:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
這段代碼首先獲取輸入的數字個數n,然后創建一個大小為n的數組arr,用于存儲輸入的數字。接下來,使用for循環依次將n個數字保存到數組中。然后調用bubbleSort函數對數組進行排序。最后,使用for循環輸出排序后的結果。
注意:在使用冒泡排序算法時,數組元素的類型應為可比較的類型,例如整數、浮點數等,而不是指針類型、結構體類型等。