为什么输出的结果多了两行一样的

img

img

img


为什么输出的结果多了两行一样的,一直不知道怎么改,可以看看嘛,谢谢了

你可以把代码复制过来吗?

#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");
}