本題不難,重點在於理解 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;
}