[求教]这两个程序为何结果不同呢?
程序一#include<stdio.h>
void main()
{
int i,j;
float a[6][2]={1,2,3,5,-2,2,-3,0,2,1,3,7},t;
for(i=1;i<6;i++)
{ if(a[i][1]!=0)
t=a[i][0];
for(j=i;j>0&&t<a[j-1][0];j--)
{
a[j][0]=a[j-1][0];
}
a[j][0]=t;
}
printf("%f\n\n",a[0][0]); printf("%f\n\n",a[1][0]); printf("%f\n",a[2][0]);
printf("%f\n",a[3][0]); printf("%f\n",a[4][0]); printf("%f\n",a[5][0]);
}
-2.000000
-2.000000
1.000000
2.000000
3.000000
3.000000
Press any key to continue
程序二
#include<stdio.h>
void main()
{
int i,j;
float a[6][2]={1,2,3,5,-2,2,-3,0,2,1,3,7},t;
for(i=1;i<6;i++)
{ if(a[i][1]!=0)
t=a[i][0];
for(j=i;j>0&&t<a[j-1][0];j--)
{
a[j][0]=a[j-1][0];
}
a[j][0]=t;
}
for(i=1;i<6;i++)
printf("%f\n",a[i][0]);
}
-2.000000
1.000000
2.000000
3.000000
3.000000
Press any key to continue