时间限制: 1 Sec 内存限制: 128 MB
题目描述
人们常说 Knowledge(知识)= 96 分,Workhard(努力工作)= 98 分,Attitude(态度)= 100 分,这是怎么算的呢,是把这个单词的每个字母对应成它在字母表出现的位置,A,aA,a 对应 11 ,B,bB,b 对应 22 ,C,cC,c 对应 33 ,..., Z,zZ,z 对应 2626 ,然后加起来。
现在蒜头君想让你帮忙计算一个单词的分数(单词里只包含大写字母和小写字母)。
输入格式
输入一行包含一个仅由大写字母和小写字母组成的字符串,长度不超过 105105 。
输出格式
输出一行,包含 11 个整数,表示这个单词的分数。
数据规模与约定
对于 40%40% 的数据,字符串仅包含大写字母,长度不超过 104104
对于另外 40%40% 的数据,字符串仅包含小写字母,长度不超过 104104
对于 100%100% 的数据,字符串仅包含大写字母和小写字母,长度不超过 105105 。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
AttiTude
样例输出
100
参考答案
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ans = 0;
string s;
cin >> s;
for(int i = 0; i < s.size(); i++)
{
if(s[i] <= 'z' && s[i] >= 'a')
{
ans += int(s[i] - 'a') + 1;
}
if(s[i] <= 'Z' && s[i] >= 'A')
{
ans += int(s[i] - 'A') + 1;
}
}
cout << ans;
return 0;
}