题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4144
题意:就是把接收到的字符串以5个为准分成几组,然后每组中,是字符的话就看成0,是数字的话就看成1,这样子整个字符串就变成由0和1组成的,每组中,看成一个二进制的数,然后转化成十进制,最后根据A是0,B是1……以此类推下去,把他转化成字符。
参考代码:
#include <stdio.h>
#include <string.h>
int n,i,j,t[10001],sum;
char a[10001];
int main()
{
while(~scanf("%d%*c",&n))
{
gets(a);
for(i=0;i<n;i++)
{
if(a[i]>='0' && a[i]<='9')
t[i]=1;
else
t[i]=0;
}
sum=0;
for(j=0;j<n;j+=5)
{
sum=t[j]*16+t[j+1]*8+t[j+2]*4+t[j+3]*2+t[j+4];
printf("%c",65+sum);
}
printf("\n");
}
return 0;
}