这道题很简单,但是涉及字符串的读取及常见处理。
下面我贴出不同风格的代码:
这个题目重要的就是如何读取有空格的字符串。
代码1(我自己写的)
#include<iostream> #include<cstdio> #include<string.h> using namespace std; char s[1000]; int main() { while(gets(s)) { int sum=0; if(s[0]==‘#‘) break; int len=strlen(s); for(int i=0;i<len;i++) { if(s[i]!=‘ ‘) { sum+=(i+1)*(s[i]-‘A‘+1); } } cout<<sum<<endl; } return 0; }
代码2:
#include<iostream> #include<fstream> #include<cstdio> #include<string.h> using namespace std; int main() { ifstream cin("aa.txt"); char ch[256]; int i=1; int sum=0; //cin.get()一个一个读,就不会忽略任何字符 //采用cin.getline()可以一行一行读取字符 while(cin.getline(ch,256)) { if(ch[0]!=‘#‘) break; for(int i=0;ch[i]!=‘\0‘;i++) if(ch[i]!=‘ ‘) sum+=(i+1)*(ch[i]-64); cout<<sum<<endl; sum=0; } return 0; }
时间: 2024-11-07 04:46:14