m0_74464010 2022-11-02 15:05 采纳率: 95.8%
浏览 37
已结题

用冒泡法排序,不知道错那了

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
#include<stdio.h>
int main()
{ int i,j,t,n,k;
 scanf("%d",&n);
 int a[n];
 for(k=0;k<n;k++)
  { scanf("%d",&a[n]);
  }
  for(i=0;i<n-1;i++)
    for(j=0;j<n-i-1;j++)
      if(a[j]>a[j+1])
       { t=a[j];
       a[j]=a[j+1];
       a[j+1]=t;
       }
       for(i=0;i<n;i++)
       printf("%d ",a[i]);
    return 0;
}

  • 写回答

5条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-11-02 15:09
    关注

    数组长度不能用变量,并且输入的那一块是&a[k],不是&a[n],代码修改如下,当然,有些编辑器是支持数组长度用变量的,你试试你的支持不,不支持的话就把数组长度改成一常量。
    有帮助的话采纳一下哦!

    #include<stdio.h>
    int main()
    { int i,j,t,n,k;
     scanf("%d",&n);
     int a[n];
     for(k=0;k<n;k++)
      { 
          scanf("%d",&a[k]);
       }
      for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
          if(a[j]>a[j+1])
           { t=a[j];
           a[j]=a[j+1];
           a[j+1]=t;
           }
           for(i=0;i<n;i++)
           printf("%d ",a[i]);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.