c++数组升序排列,结果多了个0.0,并且把数组中的一个数挤掉了

代码如下:

#include <stdlib.h>
#include <time.h>
#include <stdio.h>

int main() {
    int SIZE=10,i,j;
    double a[SIZE],t;
    
    srand(time(NULL));
    
    for(i=0;i<SIZE;i++)
        a[i]=((rand()%1000))/10.;
        
    for(i=0;i<SIZE;i++)
        printf("%.1lf  ",a[i]);
        
    for(i=0;i<10;i++){
        for(j=0;j<10-i;j++)
            if(a[j]>a[j+1]){
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
    }
    printf("\n");
    printf("升序排列结果为:");
    
    for(i=0;i<SIZE;i++)
        printf("%.1lf  ",a[i]);
        
    return 0;
}

怎么回事,实在搞不懂了

img