本题不难,重点在于理解 cin 和 getline 的区别
知识点:
- cin 读取时候遇到空格会认为是结束符。而 getline 可以读取一整行包括空格
详情:https://blog.csdn.net/weixin_41042404/article/details/80934191 - getline 的头文件是 #include< string >
代码:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
while (1)
{
string str;
int sum = 0;
getline(cin, str); //不能用cin直接读取,这样遇到空格会被当做结束符,当做两部分分别处理
if (str[0] == '#')
break;
for (int i = 0; i < str.length(); i++)
{
if (str[i] != ' ')
sum += (str[i] - 'A' + 1)*(i + 1);
}
cout << sum << endl;
}
return 0;
}