求解!!!

//我想采用冒泡排序升序找出前五个,有大佬帮我看看问题出在哪么,结果不对
#include<stdio.h>
void bubblesort(int arr[], int sz) {
    for (int j = 0; j < sz - 1; j++) {
        int flag = 1; //假设已经是有序的数组
        for (int k = 0; k < sz - 1 - j; k++) {
            if (arr[k] < arr[k + 1]) {
                int t = arr[k];
                arr[k] = arr[k + 1];
                arr[k + 1] = t;
            }
        }
        if (flag == 1) {
            break;
        }
    }
}
int main() {
    int n;
    scanf("%d", &n);
    int arr[n];
    for (int i = 0; i < n; i++) {
        scanf("%d ", &arr[i]);
    }
    //采用冒泡排序
    int sz = sizeof(arr) / sizeof(arr[0]);
    bubblesort(arr,  sz);
    for (int k = 0; k < 5; k++) {
        printf("%d ", arr[k]);
    }
}

#考研#
全部评论
啊我已经发现了我把flag=0写成了1呜呜呜
点赞 回复 分享
发布于 2022-06-15 16:11

相关推荐

2025-12-16 12:46
河北农业大学 Java
king327:最好要在简历中很好地包装和证明你的能力 要证明你的技术深度才能在面试官那里有竞争力 如果你有需要的话可以看一下我主页简历我帮你详细地说一下各个地方的具体问题
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务