桑海

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

这道题本来是想自己写一个判断是否是英文字符的函数的,错误了,现在还不是很明白,如下:

#include<iostream>
#include<string>
#include<cctype>
using namespace std;

int main()
{
    string line;
    while(getline(cin, line))
    {
        int cnt = 0, flag = 1;
        for(string::size_type i = 0; i != line.size(); ++i)
        {
            /*
            if(flag && line[i] != ' ' && (line[i] >= 'a' && line[i] <= 'z' || line[i] >= 'A' && line[i] <= 'Z'))    //判断是否是英文字符
            {
                flag = 0;
                ++cnt;
            }
            else if(line[i] == ' ')
                flag = 1;
                */
            if(flag && isalpha(line[i]))
            {
                flag = 0;
                ++cnt;
            }
            else if(!isalpha(line[i]))
                flag = 1;
        }
        cout << cnt << endl;
    }
    return 0;
}
posted on 2012-11-15 21:50  桑海  阅读(202)  评论(0编辑  收藏  举报