您的位置:首页 > 其它

HDU 4054 Hexadecimal View(模拟)

2015-05-12 00:51 295 查看
利用%x直接输出16进制数,简单模拟即可,水题

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int N = 1000005;
char s
;

int main() {
while (gets(s) != NULL) {
int len = strlen(s);
for (int i = 0; i < len; i += 16) {
printf("%04x: ", i);
for (int j = i; j < i + 16; j += 2){
if (j >= len) printf(" ");
else if (j + 1 >= (i + 1) * 16 || (j + 1) >= len) printf("%02x ", s[j]);
else printf("%02x%02x ", s[j], s[j + 1]);
}
for (int j = len; j < len; j += 2) printf(" ");
for (int j = i; j < i + 16 && j < len; j++) {
if (s[j] >= 'a' && s[j] <= 'z') printf("%c", s[j] - 'a' + 'A');
else if (s[j] >= 'A' && s[j] <= 'Z') printf("%c", s[j] - 'A' + 'a');
else printf("%c", s[j]);
}
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: