这道题本来是想自己写一个判断是否是英文字符的函数的,错误了,现在还不是很明白,如下:
#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; }