字符加减法的应用
1.输入小写字母,输出大写字母
首先肯定有定义变量ch;并且让我们可以在黑框输入一个变量,也就是任意一个小写字母
char ch;
scanf("%c\n",ch);
接着分析小写字母和大写字母的联系:
举例分析,比如b在小写字母表排第二位,而B在大写字母表里也排第二位
小写字母和大写字母都有26个
所以可以利用排位一致的特点进行方程的构造
设小写字母为ch(上面已经设了)
设大写字母为y
到这里还毫无头绪,没法把排位的特点用上
下一步就是拆,把变量拆成常量+变量的形式,利于分析关系
任意一个大写字母都可以写成 'A'+一个数字
B=A+1 C=A+2.....Z=A+25
1到25其实就是大写字母在字母表中的排位概念的变形
下一步就是小写字母也构造出排位,方法也是拆
b=a+1 c=a+2........z=a+25
其中等号左边是定义的变量ch
等号右边是‘a’+x
ch='a'+x
而B=A+1 C=A+2.....Z=A+25 等号左边是定义的变量y,等号右边是 'A'+x
y='A'+x
下面开始写代码看看构造出可解的方程
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
char ch, x, y;
scanf("%c", &ch);
//这一步不可能马上想出来,可以先在下面构造方程时用上变量,最后再来补充定义变量的操作
x = ch - 'a';
y = 'A' + x;
printf("%c\n", y);
return 0;
}
2.输入大写字母,输出小写字母
B=A+1 C=A+2.....Z=A+25 ch='a'+x
b=a+1 c=a+2........z=a+25 y='A'+x
按照上面的分析列方程如下
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
char y,x,ch;
scanf("%c",&y);
x=y-'A';
ch='a'+x;
printf("%c\n",ch);
return 0;
}