2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【C语言】编写一个程序 当输入小写字母a 输出大写字母Z 当输入小写字母b 输出大写

【C语言】编写一个程序 当输入小写字母a 输出大写字母Z 当输入小写字母b 输出大写

时间:2018-10-31 06:06:56

相关推荐

【C语言】编写一个程序 当输入小写字母a 输出大写字母Z 当输入小写字母b 输出大写

这个问题不仅仅是将字母转化成对应的小写或者大写字母。那我们应该怎么来解决呢,首先我们分析一下这个问题。

当输入的字母由a变为b时,对应的输出由Z编程Y,我们知道字符在内存中是以ASCII码值的形式存储的,也就是说,当输入的ASCII码值增加1,对应输出的ASCII码值在原有变化的基础上减少一,也就是说,每一次都比上一次的距离远2,于是我们选择将a-Z的ASCII码值变化记录下来,之后的变化在这个基础上进行。

这里我们还必须知道的一点是大写字母的ASCII码值比小写字母小,以下是部分截屏:

接下来看看解决了这个问题的代码:

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>#include<stdlib.h>char turn_form(char ch){int ret = 'a' - 'Z'; //ret为a到Z之间相差的ASCII码值int tmp = 'a' - ch;//a和输入的字符相差的ASCII码值if ((ch >= 'a') && (ch <= 'z')) {ch = ch + 2 * tmp-ret; }return ch; //这里必须返回,因为我们只是对临时变量做了改变,并没有改变ch的值}int main(){char ch = 0;char ret = 0;printf("请输入一个英文字母:");scanf("%c", &ch);ret=turn_form(ch);printf("%c\n", ret);system("pause");return 0;}

我们知道字符a减去它之后的字符一定是一个负值,所以用ch=ch+2*tmp-ret. 就可以得到变化后的字符。

【C语言】编写一个程序 当输入小写字母a 输出大写字母Z 当输入小写字母b 输出大写字母Y 以此类推 当输入小写字母z 输出大写字母A。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。