题目要求:
两个字母之间的距离定义为它们在字母表中位置的距离。 例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。 对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。 例如:ZOO 的内部距离为 22,其中 Z 和 O 的距离为 11。 请问,WATJKJDXRGZNXYTW 的内部距离是多少
解题思路:
用for循环,依次算出每两个字母之间的距离
代码展示:
#include<iostream>
using namespace std;
int main()
{
int cnt = 0, num = 0;
string s;
cin >> s;
for (int i = 0; i < s.length(); i++) {
for (int j = num; j < s.length(); j++) {
cnt += abs((s[i] - 'A') - (s[j] - 'A'));
}
num++;
}
cout << cnt;
return 0;
}
运行结果: