- 两个字母之间的距离定义为它们在字母表中位置的距离。
例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。
对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。
例如:ZOO 的内部距离为 22,其中 Z 和 O 的距离为 11。
请问,WATJKJDXRGZNXYTW 的内部距离是多少?
思路:其实通过字符的ASCALL码的差值即可知道两个字符的距离。通过一个循环的嵌套即可求得问题。不过要注意的是这个差值可能是负数所以要判断一下是否大于0。
#include<iostream>
using namespace std;
int main()
{
char a[]="WATJKJDXRGZNXYTW";
int n=0;
int m=16;
for(int i=0;i<m;i++){
for(int j=i+1;j<m;j++){
if(a[i]-a[j]<0)
n=n+a[j]-a[i];
else
n=n+a[i]-a[j];
}
}
printf("%d",n);
return 0;
}