C++冲浪板面

记录C++点滴感悟

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  11 随笔 :: 1 文章 :: 24 评论 :: 0 Trackbacks
为使电文保密,往往按一定规律将电文转化成密码,收报人再按约定的规律将其译回原文.例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D.字母按上述规律转换,非字母字符不变.如"Wonderful!"转换为"Asrhivjyp!".输入一行字符,要求输出其相应的密码. 先分析解题思路:转换的规律是将原来的字符c加4,就得到密码字符的ASCII代码.可用c=c+4来处理.但是还要对w,x,y,z(包括大小写)这4个字母作专门处理,使它们变为大小写的a,b,c,d.方法是如果执行完c=c+4后,c的新值已大于z(或Z),则表示原来的字母在v(或V)之后,应将它转换为a~d(或A~D).办法是使c减26. 程序如下: #include using namespace std; int main( ) {char c; while ((c=getchar( ))!='\n') {if ((c>='a'&&c<='z')||(c>='A'&&c<='Z')) {c=c+4; if(c>'Z'&&c<='Z'+4||c>'z')c=c-26; } cout<'Z'||c>'z') c=c-26;因为所有小写字母都满足"c>'Z'"条件,从而也执行"c=c-26;"语句,着就会出错.因此必须限制其范围为"c>'Z'&&c<='Z'+4",即原字母为'W'到'Z',在此范围以外的不是原大写字母W~Z,不应按此规律转换.请考虑:为什么对小写字母不按此处理,即写成c>'z'&&c<='z'+4而只须写成"c>'z'"即可.
posted on 2006-02-06 22:48 SHUIGANG 阅读(760) 评论(4)  编辑 收藏 引用 所属分类: 交错线

评论

# re: 译码程序 2007-03-09 07:26 曹云
邢唷? >  ?       ? ????R o o t E n t r y    括崿? @ n o t e s  括崿?括崿? v e r s i o n     ?    回复  更多评论
  

# re: 译码程序 2007-03-09 07:26 曹云
邢唷? >  ?       ? ????R o o t E n t r y    pT闑?  4 0 2   0?忹奥 pT闑? C S B U D D Y _ U S E R _ D A T A $  0?忹奥 pT闑? U s e r D a t a . d a t      ?QD  ゥ夯氨珷?  揪癌牐桨Λ
禐煔捄煒潏 QA { QD
禐煔捄煒? QA  ゥ夯氨珷?  揪癌牐桨Λ   垂   岛毒 9%B3M4$&     回复  更多评论
  

# re: 译码程序 2007-09-12 15:24 123
402**6383  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理