C数组打印为树

时间:2017-05-22 16:50:53

标签: c arrays

我使用将返回它的函数创建一个包含十六进制值的树。用户输入一个高度,例如5,它看起来像这样:

    0
   123
  45678
 9ABCDEF
012345678

到目前为止,这是我的代码:

void draw(int n) {
    char table[] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff};
    int i;
    for(i=0;i<16;i++) {
        printf("%X", table[i] & 0x0f);
    }
}

1 个答案:

答案 0 :(得分:1)

试试这个。 。

void draw(int n)
{
   int i, j, k , space , letter = -1 , x = 0;
   char hexa[]="0123456789ABCDEF";
    for(i=0;i<n;i++)
    {
        space = n-i ; // calculating spaces will be printed 
        letter += 2 ; // calculating letters will be printed 

        for(j=0;j<space;j++) printf(" ");
        for(k=0;k<letter;k++,x++) printf("%c",hexa[x%16]);
        printf("\n");
    }
}