想问一下有什么更简单一点的方法吗,让三个整数从大到小排序

img


这样子太麻烦了,就是想问一下有没有可以更改的地方,让整个程序更加简单一丢丢,😭俺打字打的手累了

用冒泡排序法,或者是charmap排序法,冒泡排序法我给你一个代码.其中DataSort就是冒泡排序法的实现方法。
不懂的可以再来问我:

#include <stdio.h>
 
void PrintScore( int * list , int n );
void DataSort(int score[], int n);
 
int main(){
    int a[5] = {1,2,3,4,5} , n = 5;
    DataSort(a,n);
    PrintScore(a,n);
}
 
void DataSort(int score[], int n) {
    int i, j;
    bool flag = true;
    for (i = 0; i < n && flag == true; i++) {
        flag = false;
        for (j = 0; j < n - 1 - i; j++) {
            if (score[j] < score[j + 1]) {
                int t = score[j];
                score[j] = score[j + 1];
                score[j + 1] = t;
                flag = true ;
            }
        }
        if( flag == false ){
            break;
        }
        printf("第%d趟:", i + 1);
        PrintScore(score, n);
    }
 
}
void PrintScore( int * list , int n ){
    for( int i = 0 ; i < n ; i++ ){
        printf("%d ", list[i] );
    }
    printf("\n");
}