您的位置:首页 > 其它

poj3094(字符串基础)

2014-07-21 10:39 176 查看


题意就是读入一个字符串,A代表1,Z代表26,除了空格外,sum等于下标*字母数值之和,下标从1开始。例如AAB=1*1+2*1+3*2;
这题是大水题而已,需要注意的是空格是可以被读入的,故要用gets( )函数,还有strcmp()==0才是两字符串相等,

这种基础知识我都忘了,惭愧惭愧#include<iostream>
#include<string>
using namespace std;

int main()
{
int sum,len;
char s[256];
while(gets(s)) //gets()函数可以把空格读入字符串。scanf和cin好像都不行
{
sum=0;
if(strcmp(s,"#")==0) break; //用strcmp判断是否等于结束符号
len=strlen(s);
for(int i=0;i<len;i++)
if(s[i]!=' ')
sum+=(i+1)*(s[i]-'A'+1); //注意加1
cout<<sum<<endl;;
}
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串