1、解决方案
从ASCII码表我们可以知道大写字母AZ是的十进制值为6590,小写字母az的十进制值为97122,不难发现对应的大小写子母间总是相差32的,比如a的97和A的65等,那么我们就可以设计,
当输入是小写字母时,我们让它减32,以字符形式输出就是对应的大写,输入是大写字母让它加32即为对应的大写字母。
2、具体实现
void exchangeLetter()
{
int ch = 0;
while((ch = getchar()) != EOF)
{
//printf("%c", ch);
if(ch >= 97 && ch <= 123) //如果是小写
printf("转换后: %c", ch - 32);
if( ch >= 65 && ch <= 91) //如果是大写
printf("转换后: %c", ch + 32);
}
}
3、测试运行
#include <stdio.h>
void exchangeLetter()
{
int ch = 0;
while((ch = getchar()) != EOF)//键入终结字符结束,ctr + z
{
//printf("%c", ch);
if(ch >= 97 && ch <= 123)
printf("%c", ch - 32);
if( ch >= 65 && ch <= 91)
printf("%c", ch + 32);
}
}
int main()
{
exchangeLetter();
return 0;
}
结果:
标签:字符,ch,小写,输出,32,65,&&,97 来源: https://blog.csdn.net/qq_39237781/article/details/88846218
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。