姜肆爷 2021-09-07 09:11 采纳率: 76%
浏览 36
已结题

请大家帮我看看这个C语言冒泡排序有什么问题

请各位帮我看一下我的冒泡排序代码有什么问题
为什么跑不出正确结果?

#include <stdio.h>
int main(void){
    int a[6] = {6, 7, 4, 3, 2, 1};

    for( int p=5; p>=0; p--){
        int flag = 0;
        for( int i=0; i<p; i++){
            if(a[i] > a[i+1]){
                int mid = a[i];
                a[i] = a[i+1];
                a[i+i] = mid;
                flag = 1;
            }
            
        }
        if(flag == 0)
            break;
    }
    for( int i=0; i<6; i++){
        printf("%d", a[i]);
    }
}

img

  • 写回答

2条回答 默认 最新

  • 於黾 2021-09-07 09:14
    关注
                a[i+i] = mid;低级错误
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月7日