mystisland
2021-11-08 20:50
采纳率: 100%
浏览 19

c语言冒泡排序结果出错

#include <stdio.h>
int main()
{
int a[5]={5,54,24,325,54,213},i,j;
int t;
for (i=0;i<5;i++)
{
for (j=0;j<5-i;j++)
{
if (a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}

数组特地多输出几个,结果却是
5 24 54 54 325 325 1 7 0

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 拂面清风三点水 2021-11-08 21:01
    已采纳

    5个元素的数组,就不要多输出了啊,越界后的值是不确定的,你把初始化里面的5去掉,然后输出打印的时候循环6次就行了,不要多输出

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题