将字母转为数字进行计算

首先主要运用就是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;
}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值