本题同样没有太高的思维要求,只需要注意以下几点:
1.将字符进行加减运算,实际上得到的是其ASCII码值加减运算后的结果
2.数组初始化,若初始化一部分元素,则剩余元素全部自动初始化为0
3.本题需要读入空格,所以使用getline进行输入
#include <iostream>
#include <string>
#include <istream>
using namespace std;
int main()
{
char a[100];
int b[100];
int i,j=0,s;
for(i=0;i<=99;i++){
b[i]=-1;
}
while(1){
i=0;
s=0;
cin.getline(a,100);
if(a[0]=='#')break;
while(1){
if(a[i]==' '){
s=s;
i++;
}
else{
s=s+(i+1)*(a[i]-64);
i++;
}
if(a[i]=='\0')break;
}
b[j]=s;
j++;
}
j=0;
do{
cout<<b[j]<<endl;
j++;
}while(b[j]!=-1);
return 0;
}