若从键盘输入:95 23 -9 45 100 -90 1 3,则应输出-90 -9 1 3 23 45 95 100。 请改正程序中的错误,使程序能得出正确的结果。

#include<stdio.h>
int main( )
{ int i,j,t,a[9];
printf("Input 8 numbers : \n");
for (i=1;i<=8;i++)
scanf("%d",&a[i]);
for (j=1;j<=8;j++)
for (i=1;i<=8;i++)
if(a[i]<a[i+1])
​{ t=a[i];
a[i+1]=a[i];
a[i+1]=t;
}​
printf("The sorted numbers : \n");
for (i=1;i<=8;i++)
printf("%d ",a[i]);
printf("\n");
return 0;

修改处见注释,供参考:

#include <stdio.h>
int main()
{
    int i, j, t, a[9];
    printf("Input 8 numbers : \n");
    for (i = 1; i <= 8; i++)
        scanf("%d", &a[i]);
    for (j = 1; j <= 8; j++)
        for (i = 1; i <= 8 - j; i++) //for (i=1;i<=8;i++)
            if (a[i] > a[i + 1])    //if(a[i]<a[i+1])
            {
                t = a[i];
                a[i] = a[i + 1];   //a[i + 1] = a[i];
                a[i + 1] = t;
            }
    printf("The sorted numbers : \n");
    for (i = 1; i <= 8; i++)
        printf("%d ", a[i]);
    printf("\n");
    return 0;
}