第2回勉強会の回答案1

こんなのでどうだろうか。
hex_dump.c

#include <stdio.h>

void hexDump(int x);
int main(void);

void hexDump(int x)
{
    int  r;
    r = x % 16;
    x = x / 16;

    if (x > 0)
    {
        hexDump(x);
    }
    if (r >= 0 && r <= 9)
    {
        printf("%d", r);
    }
    else if (r > 9) 
    {
        putchar('A' + r - 10);
    }
}

int main(void)
{
    int x;

    printf("input number\n");
    scanf("%d", &x);
    printf("x = %d\n", x);
    if (x < 0)
    {    
        printf("x = -0X");
        x = abs(x);
    }
    else
    {
        printf("x = 0X");
    }
    hexDump(x);
    printf("\n");
    
    return 0;
}

コンパイル

gcc hex_dump.c -o hex_dump