ZOJ2812------2015年2月4日

这道题很简单,但是涉及字符串的读取及常见处理。

下面我贴出不同风格的代码:

这个题目重要的就是如何读取有空格的字符串。

代码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;
}

 

posted @ 2015-02-04 10:17  future_hero  阅读(251)  评论(0编辑  收藏  举报