0的ASCII码为0,a的ASCII码为97,A的ASCII码为65,根据ASCII可进行三者之间的对应转换。
之前在做一道ccf模拟题时不知此方法,费了好大劲自己写函数实现转化,今天得知此方法,以此记录,感兴趣的朋友可以去用这种方法做一下那道习题。
https://blog.csdn.net/longzaizai_/article/details/118668703
#include<bits/stdc++.h>
using namespace std;//利用ASCII码,将整数与大小写字母联系起来
//0为0 a为97,b为98....A为65,B为66以此类推
int main() {
int n;
cout<<"输入一个0-25之间的整数"<<endl;
cin>>n;
cout<<"对应小写字母:"<<(char)(n+97)<<endl;
cout<<"对应大写字母:"<<(char)(n+65)<<endl;
char s1,s2;//小写
cout<<"输入一个大写字符:";
cin>>s1;
cout<<"对应的小写为:"<<char(s1+32)<<endl;
cout<<"对应的整型数为:"<<(int)(s1-65)<<endl;
cout<<"输入一个小写字符:";
cin>>s2;
cout<<"对应的大写为:"<<char(s2-32)<<endl;
cout<<"对应的整型数为:"<<(int)(s2-97)<<endl;
}
今天发现有一种将字符型数字转换为整型数的方法,以此记录:
char a='1';
int s;
s=a-'0';
cout<<s;
常见加密类型的题,就是利用ASCII码进行字母之间的对应转换,例如:
https://blog.csdn.net/longzaizai_/article/details/120111116
char a='A';
cout<<char(a+5);//输出为F
cout<<char(67);//这是直接利用括号转换符和ASCII进行字符的输出