题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4144
下午菜鸟杯比赛,这题就是菜鸟做的,表示各种用不惯VS,做了一半就回来了。
题目很简单,就是0可以当作任意字母,1可以看作任意数字,将字符串翻译后以5个字符为一组作为二进制。
再将二进制转化为十进制在进行数字与字母间的对应,输出字母。
代码:
#include<stdio.h> int main() { char str[10001],a[1000001]; int i,n,k,len; while(scanf("%d",&n)!=EOF) { getchar(); for(i=1;i<=n;i++) { scanf("%c",&str[i]); if(str[i]>='0'&&str[i]<='9') { str[i]=1; } else { str[i]=0; } } for(k=0,i=1;i<=n;i+=5) { a[k++]=str[i]*2*2*2*2+str[i+1]*2*2*2+str[i+2]*2*2+str[i+3]*2+str[i+4]+'A'; } for(i=0;i<k;i++) { printf("%c",a[i]); } printf("\n"); } return 0; }