题目链接:

https://nuoyanli.com/contest/27/problem/E

题面:

题意:

输入一个T代表有T组输入,接着输入一个字符串代表16进制,将其转换为二进制输出。

思路:

这道题目就是一个白嫖的题目,16进制对应二进制总共16种情况,通过不断的if判断就可以成功AC这道题目了,话不多说,参考代码如下。

参考代码:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int len,i;
        char a[100000];
        scanf("%s",a);
        len=strlen(a);
        for(i=0; i<len; i++)
        {
            if(a[i]=='0')
            {
                printf("0000");
            }
            if(a[i]=='1')
            {
                printf("0001");
            }
            if(a[i]=='2')
            {
                printf("0010");
            }
            if(a[i]=='3')
            {
                printf("0011");
            }
            if(a[i]=='4')
            {
                printf("0100");
            }
            if(a[i]=='5')
            {
                printf("0101");
            }
            if(a[i]=='6')
            {
                printf("0110");
            }
            if(a[i]=='7')
            {
                printf("0111");
            }
            if(a[i]=='8')
            {
                printf("1000");
            }
            if(a[i]=='9')
            {
                printf("1001");
            }
            if(a[i]=='A')
            {
                printf("1010");
            }
            if(a[i]=='B')
            {
                printf("1011");
            }
            if(a[i]=='C')
            {
                printf("1100");
            }

            if(a[i]=='D')
            {
                printf("1101");
            }
            if(a[i]=='E')
            {
                printf("1110");
            }
            if(a[i]=='F')
            {
                printf("1111");
            }
        }
        if(T!=0)
            printf("\n");
    }
    return 0;
}