解题:
水。
summary:c输入一行
1. char * gets(char * buffer),从stdin读一行,/n或EOF结束, 返回buffer指针,如果在读到任何字符前EOF,则返回null。
需要注意, 如果超过buffer的size,则会buffer overflow。
2. char * fgets(char * str, int num, FILE * stream), 可以指定流, 并且可以指定读取的最大数量, 注意是n - 1个 + \0,其他同上。
//128k 0ms
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
char pocket[256];
int main() {
while (gets(pocket) && !(pocket[0] == '#' && strlen(pocket) == 1)) {
int sum = 0;
for (int i = 0; i < strlen(pocket); ++i) {
if (pocket[i] == ' ')
continue;
sum += (pocket[i] - 'A' + 1) * (i + 1);
}
printf("%d\n", sum);
}
return 0;
}