输入一个4位十六进制数,然后输出等效的二进制数(C++实现)

输入ABCD,跑出1010101111001101,需要使用c++,不允许使用printf,scanf

用getchar接收每个字符,减去'A'加上10,然后循环求余2

#include<stdio.h>

void t22(int n)
{
    if(n==0 || n==1)
        putchar(n+'0');
    else
    {
        t22(n/2);
        putchar(n%2+'0');
    }
}

void main()
{
    char ch;
    while((ch=getchar()) != '\n')
    {
        t22(ch-'A'+10);
    }
    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^