主题:请高手找错
81520630
[专家分:60] 发布于 2012-04-23 21:01:00
main()
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<=9;j++)
{
for(i=0;i<10-j;i++)
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
getch();
}
冒泡排序,排到最后a[0]=-32,为什么?
回复列表 (共5个回复)
沙发
fragileeye [专家分:1990] 发布于 2012-04-23 21:53:00
when j == 0,i < 10 - j; i(max) == 9 - 0 == 9;
if( a[i] > a[i+1] )
error a[10];
板凳
ing999 [专家分:20] 发布于 2012-04-25 22:41:00
找不出 www.kaixinbz168.com
3 楼
Szjl.. [专家分:0] 发布于 2012-05-05 12:04:00
main()
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<=9;j++)
{
for(i=0;i<9-j;i++) 错在这里,仔细看看!
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
getch();
}
4 楼
东流水飞 [专家分:10] 发布于 2012-05-12 11:13:00
单步调试不就知道怎么错了吗?自己花点时间就解决了!
5 楼
2362279547 [专家分:0] 发布于 2012-05-12 20:14:00
main()
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
getch();
}这样就对了
我来回复