生成以下矩阵并存放在二维数组a中

生成以下矩阵并存放在二维数组a中
1 2 3 4
5 1 2 3
5 5 1 2
这个怎么做


#include<stdio.h> 
int main()
{
    int a[3][4],i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {        
            if(i>=1 && j<=i-1)
            {
                a[i][j]=5;
            }
            else
            {
                a[i][j]=j+1-i;
            }
        }
    }
    for (i=0;i<3;i++){
        for(j=0;j<4;j++)
        printf("%4d",a[i][j]);
        printf("\n");
    }
}

int a[3][4]={1, 2, 3, 4,
5, 1, 2, 3,
5, 5, 1, 2};

下面多一排5 5 5 1怎么写呀