| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 883 人关注过本帖
标题:大小写字母问题
只看楼主 加入收藏
x乌鱼
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2006-7-1
收藏
 问题点数:0 回复次数:3 
大小写字母问题

#include <stdio.h>

main()
{
char c;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z')
{
c-=30;
if(c>'Z'&&c<='Z'+2)
c-=26;

}
printf("%c",c);
}
}
我一直没明白 这段红色代码的意思, 书上说让我们自己体验下 去掉这段代码的不同,可我体验后发现没什么不同!请达人帮忙看下``谢谢

搜索更多相关主题的帖子: 字母 大小写 main getchar 
2007-02-11 16:05
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 
把字母看成线段就好理解了
这是一个加密字母程序
A变C
当超出A-Z这个线段就减去线段的总长度,得到加密后字符
2007-02-11 16:11
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

如上图
A-Z是字母的范围,看成一个线段,图1
当加密字符是Z时,z+2超出了范围,图2,黄色的一段
这时怎么得到正确的加密字符呢
图3减去A-Z的长度(粗蓝线一段)就得到了红色的一小段
加密后正确字符是B
利用不知是初中还是小学学的线段知识就可以理解了

用画图程序画的图,哈哈,太差了
A-Z有26个字母,可以把图1的线段长度看成26
Z+2,26+2=28把图2的线段总长度看成28
图3,28-26=2 第2个字母是B

[此贴子已经被作者于2007-2-11 16:25:42编辑过]



gMy0Xq7T.jpg (4.44 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-02-11 16:18
x乌鱼
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2006-7-1
收藏
得分:0 

十分感谢楼上的图型结合解答,经过您的解答我理解了,原来是超过的这一段无法表示出来! 实在感谢你的帮助!


2007-02-11 19:38
快速回复:大小写字母问题
数据加载中...
 
   



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

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