#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
void hex(char *p,int n){
int counter=0,i;
for(i=1;i<=n;i++){
if(*p<16)printf("0%x",*(p++));
else printf("%x",*(p++));
counter+=2;
if(!(i%2)){
printf(" ");
counter+=1;
}
}
if(n<16){
counter=40-counter;
while(counter--)putchar(' ');
}
for(p-=n,i=1;i<=n;i++,p++)
printf("%c",(*p>='a'&&*p<='z') ? *p-32 : ((*p>='A'&&*p<='Z')?*p+32:*p));
printf("\n");
}
void print(char *a){
int len=strlen(a),k=len/16,i;
for(i=1;i<=k;i++){
//if(i==1)printf("0000: ");
if(i<=16) printf("00%x0: ",i-1);
else if(i<=256)printf("0%x0: ",i-1);
//else printf("1000: ");
hex(a+(i-1)*16,16);
}
if(len%16){
if(!k){
printf("0000: ");
hex(a,len);
}
else{
if(i<=16) printf("00%x0: ",i-1);
else if(i<=256)printf("0%x0: ",i-1);
hex(a+(i-1)*16,len%16);
}
}
}
int main(){
char a[5000];
while(gets(a)){
print(a);
}
//printf("%x\n",1);
return 0;
}
2011 Asia Dalian Regional Contest Hexadecimal View
最新推荐文章于 2022-02-25 21:57:21 发布
