 
                In this type of program we always find how many column present in a particular row. Because we know that we are always print in VDU horizontally. Here column number is same as (row number * 2 ) - 1 and the spaces are present at the right side of the character is equal to the (total no of row - current row). It is Pyramid which numbers are decrease in each row until the column number is equal to the row number.
#include <stdio.h>
void main()
{
    int r,c,n,s,p,fl=1;
    printf("Enter Total Number of row : ");
    scanf("%d",&n);
    
    for(r=1;r<=n;r++)
    {
        p=r;
        for(s=1;s<=n-r;s++)
        {
            printf(" ");
        }
		for(c=1;c<=2*r-1;c++)
        {
            printf("%d",p);
			if(c==r){fl=0;}
			((fl==1)?(p--):(p++));
        }
		fl=1;
		p=1;
        printf("\n");
    }
}
Enter Total Number of row : 6
     1
    212
   32123
  4321234
 543212345
65432123456