请问为何冒泡排序(10数大小排列)中有数为0 则结果错误

drizztguai 2008-01-21 11:28:33
#include "stdio.h"

void main()
{
int a[10];
int i,j,t;
for (i=0;i<10;i++)
scanf ("%d",&a[i]);
for (i=0;i<9;i++)
for (j=0;j<10-i-1;j++)
if (a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=a[j];
}

for (i=0;i<10;i++)
printf ("% d",a[i]);
}

用 输入1 2 3 4 5 6 7 8 9 0
则结果为0 0 0 0 0 0 0 0 0 0

但不输入0 就不会错... 何解... 请达人指点 :(
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
drizztguai 2008-01-22
  • 打赏
  • 举报
回复
原来是这样 t.t

谢谢达人 :)
lockhall 2008-01-21
  • 打赏
  • 举报
回复
星宇动作太快了。

:)
星羽 2008-01-21
  • 打赏
  • 举报
回复

t=a[j];
a[j]=a[j+1];
a[j+1]=a[j];
->
t=a[j];
a[j]=a[j+1];
a[j+1]=t;

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧