编写程序,把给定长度为10的整数数组中所有元素循环右移 j 位

问题描述:编写程序,把给定长度为10的整数数组中所有元素循环右移 j 位。
输入:从键盘随机输入十个整数,作为数组a的元素;输入一个正整数j作为移动位数。
输出:移动后的整数数组a中的所有元素,各元素间无间隔字符。
样例:输入 1 2 3 4 5 6 7 8 9 0
2
输出 9012345678
以下为本人写的代码 给的样例可以过但是mooc有一个用例过不去,不知道问题出在了哪里,求指点!

#include<stdio.h>
int main() {
    int a[10],i,j,b[10]= {0};
    for(i=0; i<10; i++) {
        scanf("%d",&(a[i]));        
    }
    scanf("%d",&j);
    for(i=0; i<10; i++) {
        if(i+j<10)
            b[i+j]=a[i];
        else
            b[i+j-10]=a[i];

    }
    for(i=0; i<10; i++)
        printf("%d",b[i]);
    return 0;
}