HDU 4144 Bacon's Cipher

本文解析了菜鸟杯比赛中的一道编程题,介绍了如何将特定字符转换为二进制并最终转化为字母的过程。通过C语言实现,详细展示了字符到二进制再到ASCII值的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值