| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2639 人关注过本帖, 1 人收藏
标题:编密码
只看楼主 加入收藏
今晚打老虎
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2004-6-16
收藏
得分:0 

首先感谢天使的耐心讲解,不过我还是有些疑问!这句话要加在程序的什么地方?

是在if((C>='A'&&C<='Z'))||(C>='a'&&C<='z'))语句后面么?还是在别的地方?我还有些搞不懂的就是这句话中的c的值是加4

之后的值还是未加4的值这句话的意思~如果这个c加4后='Z'的话,那么'Z'的ASCII值减去'A'的ASCII值的结果再+4肯定就大于26

了,那么'Z'不在26个字母中了么?


愿上帝与菜鸟同在!阿门
2004-06-17 13:46
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

你上个帖子的猜测是对的!!!

不过后面的与就不用了!!!因为你前面已经对范围判断了!if((C>='A'&&C<='Z'))||(C>='a'&&C<='z'))


差点把你忘了...
2004-06-17 14:05
今晚打老虎
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2004-6-16
收藏
得分:0 

谢谢哥哥提点~不过天使哥哥如果有耐心和时间的话能不能帮我解除一下我前面的疑惑呢~

不胜感激!


愿上帝与菜鸟同在!阿门
2004-06-17 14:16
我想要飞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2004-6-15
收藏
得分:0 

main()

{char c;

while((c=getchar())!='\n')

{

if((c>='a'&&c<='z'||(c>='A'&&<='Z'))

c=c+4;

if(c>'Z'&&c<='Z'+4||c>'z')c=c-26;

}

printf("%c",c)

}

}

这样应该可以的!!!我只是没在机器上试过!


个人宣言;黑暗的腹地,我睁开双眼, 世界哑口无言。。。
2004-06-17 21:57
今晚打老虎
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2004-6-16
收藏
得分:0 
想飞的这个程序就是我19楼那个语句的意思~想飞你知道(c-‘A’+4)%26+'A'那句话的含义么?

愿上帝与菜鸟同在!阿门
2004-06-17 23:02
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

还是举个例子说比较好:

如果用原来的C+4大于‘Z’(我们现在只讨论大写英文字母),只有四个字符可以,也就是‘W’,‘X’,‘Y’,‘Z’;

当为‘W’时,它的ASCII码是87,这时它加四为91,大与‘Z’的90,(c-‘A’+4)%26+'A的值为65,也就是‘A’,

后面的‘X’,‘Y’,‘Z’都依次加一,为‘B’,‘C’,‘D’,而加四不大与90的,%26与否也就无所谓了!


差点把你忘了...
2004-06-18 08:54
我想要飞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2004-6-15
收藏
得分:0 

我不太清楚(c-‘A’+4)%26+‘A’的意思!

但是A到V加4可以

可W到Z在加4的话就成什么了

所以W到Z就要先加4后在减26了也就是使A变成D,X变成B,Y变成C,W变成A

是不是啊!我问问你们啊!分别用函数,指针 ,指针函数怎么传送二维数组啊

请你们演示一下 问题有点低级 无奈!!


个人宣言;黑暗的腹地,我睁开双眼, 世界哑口无言。。。
2004-06-19 01:59
快速回复:编密码
数据加载中...
 
   



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

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