代码
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
const int MAXN=10010;
char str[MAXN],ans[MAXN];
int num=0;
void rever() {
reverse(str,str+strlen(str));
while (strlen(str)%5!=0) str[strlen(str)]='0';
reverse(str,str+strlen(str));
}
int main() {
cin>>str;
rever();
int len=strlen(str);
for (int i=0;i<len-4;i+=4) {
int x=int(str[i]-48)*10000+int(str[i+1]-48)*1000+int(str[i+2]-48)*100+int(str[i+3]-48)*10+int(str[i+4]-48);
switch (x) {
case 0:
ans[num]='0';
break;
case 1:
ans[num]='1';
break;
case 10:
ans[num]='2';
break;
case 11:
ans[num]='3';
break;
case 100:
ans[num]='4';
break;
case 101:
ans[num]='5';
break;
case 110:
ans[num]='6';
break;
case 111:
ans[num]='7';
break;
case 1000:
ans[num]='8';
break;
case 1001:
ans[num]='9';
break;
case 1010:
ans[num]='A';
break;
case 1011:
ans[num]='B';
break;
case 1100:
ans[num]='C';
break;
case 1101:
ans[num]='D';
break;
case 1110:
ans[num]='E';
break;
case 1111:
ans[num]='F';
break;
case 10000:
ans[num]='G';
break;
case 10001:
ans[num]='H';
break;
case 10010:
ans[num]='I';
break;
case 10011:
ans[num]='J';
break;
case 10100:
ans[num]='K';
break;
case 10101:
ans[num]='L';
break;
case 10110:
ans[num]='M';
break;
case 10111:
ans[num]='N';
break;
case 11000:
ans[num]='O';
break;
case 11001:
ans[num]='P';
break;
case 11010:
ans[num]='Q';
break;
case 11011:
ans[num]='R';
break;
case 11100:
ans[num]='S';
break;
case 11101:
ans[num]='T';
break;
case 11110:
ans[num]='U';
break;
case 11111:
ans[num]='V';
break;
}
num++;
}
cout<<ans;
return 0;
}
样例全过但

dalao求条(必关)