根据字母代表的值和其输入的位置计算。细心一些,这是一道水题。
#include <cstdio>
const int MAX_SIZE = 255 + 2;
char array[MAX_SIZE];
//#define yangyuan
int main()
{
#ifdef yangyuan
freopen("in", "r", stdin);
#endif
const char A = 'A';
const char Z = 'Z';
while (fgets(array, MAX_SIZE, stdin))
{
if ('#' == array[0])
break;
int sum = 0;
for (int i = 0; i < MAX_SIZE && array[i] != '\0'; i++)
{
if (array[i] >= A && array[i] <= Z)
sum += (array[i] - A + 1) * (i + 1);
}
printf("%d\n", sum);
}
return 0;
}