首先主要运用就是ascall码,在ascall中A对应的是65,B对应的是66,依次类推;a对应的是97.....
在转换过程中利用差值如:将A的数字值变成1
#include<iostream>
using namespace std;
int main()
{
char s1;
cin>>s1;
cout<<s1-'A'+1;
return 0;
}
同理只需改变+后的数字大小就能赋予A...到Z的值。
如果我们进行字母大小写的转换的先明白A与a之间的差值为32;只要进行32的相加或相减就能改变字母大小写;
#include<iostream>
using namespace std;
int main()
{
char s1;
cin>>s1;
cout<<char(s1+32);//强制类型转换
return 0;
}
如果我们进行一些字母转换数字的计算将如果进行呢?列如题目:
数字就是名字中所有字母的积,其中 A 是 1,Z 是 26。例如,USACO小组就是 21×19×1×3×15=17955
写出一个程序,读入两个小组名并算出用上面的方案能否将两个名字搭配起来(数值是否相等),如果能搭配,就输出 GO
,否则输出 STAY
。小组名均是没有空格或标点的一串大写字母
#include<iostream>
using namespace std;
int main()
{
long long j=1,q=1;
string s1,s2;
cin>>s1>>s2;
for(int i=0;i<s1.length();i++)
{
int t=s1[i]-'A'+1;
j=j*t;
}
for(int i=0;i<s2.length();i++)
{
int w=s2[i]-'A'+1;
q=q*w;
}
if(j%47==q%47)
{
cout<<"GO" ;
}
else cout<<"STAY";
return 0;
}