| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10412 人关注过本帖
标题:用原来的字母后面的第4位字母来代替原来的字母
只看楼主 加入收藏
spiderman913
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-10
收藏
 问题点数:0 回复次数:8 
用原来的字母后面的第4位字母来代替原来的字母
题目是这样的: 密码规律是用原来的字母后面第4个字母代替原来的字母。例如A后面的第4个字母是E,用E代替A。 China应译为Glmre。 请编写一段程序,用赋初值的方法使C1,C2,C3,C4,C5这5个变量分别为5个字母,经运算,译成密码。
我写好了程序,是用ASCll来做,但是如果输入的含XYZ之类的,就不成立了。难道是题目有问题???求高手指点  

   char c1,c2,c3,c4,c5;
   printf("请输入c1,c2,c3,c4,c5的值:");
   scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
   c1=c1+4;
   c2=c2+4;
   c3=c3+4;
   c4=c4+4;
   c5=c5+4;
   printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
搜索更多相关主题的帖子: 字母 China 
2012-12-22 11:07
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
去对照下acs表 看看xyz往后数4个是什么

                                         
===========深入<----------------->浅出============
2012-12-22 11:15
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
26个大小写字母才转还是所有的字符都转?
如果是26个大小写字母,可以先坐下判断

    X=X+4;
    if (/*原来是小写字 && X >' z'*/) {
        X -= 'a';
    }

    if (/*原来是大写字 && X > 'Z'*/) {
        X -= 'A';
    }   

这个只是考虑你的所有字符都是字母的情况下的。

解码的时候也做相应的判断就行了


[ 本帖最后由 yuccn 于 2012-12-22 11:18 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-22 11:15
无重量空气
Rank: 2
等 级:论坛游民
帖 子:36
专家分:36
注 册:2012-12-5
收藏
得分:0 
XYZ之后的就不字母了!是其他的字符!
2012-12-22 13:51
spiderman913
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-10
收藏
得分:0 
回复 3楼 yuccn
是26个字母才会转。 判断X>'z',X-='a' 有什么作用??
2012-12-22 15:18
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 5楼 spiderman913
回环

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-22 15:47
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 5楼 spiderman913
是26个字母才会转。 判断X>'z',X-='a' 有什么作用??

比如 z + 4 会在字母范围之外了啊,所以要做个判断,超出了就应该轮转,
不好意思,X -= 'a' 是说错了的 ,
if(X>'z') {
    X = X-'z'+'a'-1;//主要是循环从a开始
}


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-22 15:47
lupeifeng123
Rank: 2
等 级:论坛游民
帖 子:74
专家分:47
注 册:2012-12-13
收藏
得分:0 
学习中。。。

一步一个脚印,贵在坚持。
2012-12-22 16:46
尹金魁2031
Rank: 3Rank: 3
来 自:河南省南阳市
等 级:论坛游侠
帖 子:156
专家分:162
注 册:2012-12-29
收藏
得分:0 
如果那样的话,只要保证输入的是大写的英文字母,不就解决问题了吗?!
2013-01-03 17:19
快速回复:用原来的字母后面的第4位字母来代替原来的字母
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012850 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved