第一次真切的感受这样的比赛,WA了一次,没有注意到是多组数据······其实这个题很水····只要是字母就是就是0只要是数字就是1.把所接受的字符串进行转化就可以得到二进制的数字,然后再进行转化,变成字母,最后得到想要的密码······
原题地址:点击打开链接。
代码如下:
#include<stdio.h> int main() { int i,j,k,l,n,m; int b[10001]; char a[10001],c[2001]; while(scanf("%d%*c",&n)!=EOF) {for(i=0;i<n;i++) { scanf("%c",&a[i]); if('A'<=a[i]&&a[i]<='Z') b[i]=0; if('0'<=a[i]&&a[i]<='9') b[i]=1; } l=0; for(i=0;i<n;i+=5) { c[l++]=b[i]*2*2*2*2+b[i+1]*2*2*2+b[i+2]*2*2+b[i+3]*2+b[i+4]+'A'; } for(i=0;i<l;i++) printf("%c",c[i]); printf("\n"); } return 0; }