/*編寫一個void sort(int *x,int n)實現將x數組中的n個數據從大到小 排序。n及數組元素在主函數中輸入。*/數組
#include <stdio.h> void sort(int *x, int n); void outPutAraay(int *x, int n); void swap(int *v1, int *v2); int main(int argc, const char * argv[]) { int n; printf("請輸入數組元素的個數n\n"); scanf("%i",&n); //注意:只有n的值肯定,才能夠定義數組 int x[n]; for (int i = 0; i < n; i++) { printf("請輸入數組的第%i個元素\n",i+1); scanf("%i",&x[i]); } printf("排序前:\n"); outPutAraay(x, n); sort(x, n); outPutAraay(x, n); return 0; } //排序 void sort(int *x, int n) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (x[i] < x[j]) { swap(&x[i], &x[j]); } } } } //遍歷輸出數組 void outPutAraay(int *x, int n) { for (int i = 0; i < n; i++) { printf("%i ",x[i]); } printf("\n"); } //交換數據 void swap(int *v1, int *v2) { int temp = *v1; *v1 = *v2; *v2 = temp; }