冒泡排序法对10个整数升序排序

理解冒泡排序算法,用冒泡排序对10个整数升序排序,先读入10个无序整数存入数组,对数组重新排序后,输出数组中数值,输出结果5个一行显示。
请问我的代码哪里错了?感谢解答!

#include <stdio.h>
#include <string.h>
int main()
{
    int str[10],t,i,j;
    printf("输入十个整数\n");
    for(i=0;i<=9;i++)
    {
        scanf("%d",&str[i]);
    } 
    for(i=0;i<=9;i++)
    {
        for(j=0;j<=9-i;j++)
        {
            if(str[i]>str[i+1])
            {
                t=str[i+1];
                str[i+1]=str[i];
                str[i]=t;    
            }
        }
    }
    for(i=0;i<=4;i++)
    {
        printf("%d ",str[i]);
    }
    printf("\n");
    for(i=5;i<=9;i++)
    {
        printf("%d ",str[i]);
    }
}

img


#include <stdio.h>
#include <string.h>
int main()
{
    int str[10],t,i,j;
    int count=10;
    printf("输入十个整数\n");
    for(i=0;i<count;i++)
    {
        scanf("%d",&str[i]);
    } 
    for(i=0;i<count-1;i++)
    {
        for(j=i;j<count;j++)
        {
            if(str[i]>str[j])
            {
                t=str[i];
                str[i]=str[j];
                str[j]=t;    
            }
        }
    }
    for(i=0;i<count;i++)
    {
        printf("%d ",str[i]);
        if((i+1)%5==0)printf("\n");
    }

}