小错误,求解答~~~
#include<stdio.h>main()
{
int a[3],t,i=0,j=0;//定义数组和其他变量
for(i=0; i<3; i++)
scanf("%d",&a[i]);
for(i=0; i<3; i++)
for(j=0; j<3-i; j++)//冒泡算法
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0; i<3; i++)
printf("%d ",a[i]);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<stdio.h>
main()
{
int a[3],t,i=0,j=0;
for(i=0; i<3; i++)
scanf("%d",&a[i]);
for(i=0; i<3; i++)
for(j=0; j<3-i; j++){//跟第一个程序只是调换个“{”的位置,为什么就不对了?
if(a[j]>a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0; i<3; i++)
printf("%d ",a[i]);
}
~~~~第一个程序是对的,第二是错的,求原因