题目链接: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;
}