本题的重点在于数据的读入。
可采用cin.getlin()一行一行读入数据;也可采用cin.get()一个一个读入字符。
cin会忽略回车、空格、Tab跳格。
cin.get()一个一个字符读,不忽略任何字符。
cin.getline()一行一行读入。
#include<fstream> #include<iostream> using namespace std;int main(){ifstream cin("data.txt");int sum = 0;
while(cin.getline(ch, 256)){//用cin.getline()读取一行if (ch[0] == '#')break;for (int i = 0; ch[i] != '\0'; ++i){if (ch[i] != ' ')sum += (i+1)*(ch[i] - 'A' + 1);}cout << sum << endl;sum = 0;}return 0;}char ch[256];
#include<fstream> #include<iostream> using namespace std;int main(){ifstream cin("data.txt");int sum = 0;int i = 1;
while(cin.get(ch)){//用cin.get()获取字符if (ch == '#')break;if (ch != '\n'){if (ch != ' ')sum += i*(ch-'A' +1); ++i;}else{cout << sum << endl;sum = 0; i = 1;}}return 0;}char ch;