甲乙小朋友的房子

甲乙小朋友很笨,但甲乙小朋友不会放弃

0%

2017腾讯题——字符十六进制输出

题目

编写代码,接收从屏幕输入的长度为16字节整数倍的字符串。回车后,按实例格式排版输出。

实例:

屏幕输入(均为可见字符): abcdefghigklmnopqrstuvwxyzabcdefghigklmnopqrstuvwxyzabcdefghigkl

代码

#include <iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
    //freopen("in.txt","r",stdin);
    char c[16];
    int count=0;
    int level=0;
    int temp=0;
    char in;
    while(true){
        c[count]=getchar();
        if(c[count]==-1){
            break;
        }
        if(count==16){
            printf("%08d",level*10);
            printf("  ");
            for(int i=0;i<16;i++){
                if(i==8){
                    printf(" ");
                }
                temp=c[i]+16*level;
                printf("%02X",c[i]);
                printf(" ");
            }
            printf(" ");
            for(int i=0;i<16;i++){
                std::cout<<c[i];
            }
            printf("\n");
            ++level;
            count=0;
        }
        ++count;
    }
    return 0;
}