11111111111111111111111111111111111111111111111111

James在一节C++课程上,准备为自己的程序定义变量名称。告诉James,一个合法的变量名应该满足如下的三个条件:

1、只能由字母(大写或者小写)、数字及下划线(_)组成

2、不能以数字开头

3、不能是C++中有特殊含义的单词,由于James是C++的初学者,只学过int、double、cout、cin这四个有特殊含义的单词,因此James只要避开这几个单词就可以。

请你编程帮助James判断他定义的变量名是否合法。

下表中列举了一些合法的变量名和非法的变量名的案例供你参考。

合法变量名案例

非法变量名案例

x

sum

sum_x

sum2

_sum

INT注意:这是合法的,因为在C++中是区分大小写的,int是表示整数类型,但INT不是);

sum x:有空格(只能是字母、数字或下划线)

1x:以数字开头

int:有特殊含义

a#:有特殊字符“#”(只能是字母、数字、下划线)。

输入格式
一行,包含一个字符串,是James为变量起的名字,且长度不大于20。

输出格式
一行,如果是合法的C++变量名,则输出yes,否则输出no。

样例输入
sum
样例输出
yes

http://ybt.ssoier.cn:8088/problem_show.php?pid=1134
类似于这个诶


#include <iostream>

using namespace std;

int main() {
    string str = "in cout dkhjshadj abab";
  //  if (str.find("cin") == string::npos) cout << 12345678 << endl;
   // cout << str.find("cin") << endl;
    cin >> str;
    if (str[0] >= '0' && str[0] <= '9') {
        cout << "no" << endl;
        return 0;
    }
    for (int i = 0; i < str.length(); i++) {
        if (!((str[i] >= '0' && str[i] <= '9') || (str[i] >= 'A' && str[i] <= 'Z') ||
              (str[i] >= 'a' && str[i] <= 'z') || str[i]=='_'))
        {
            cout << "no" << endl;
            return 0;
        }
    }
    if (str.find("cin") == string::npos && str.find("cout") == string::npos && str.find("int") == string::npos && str.find("double") == string::npos){
        cout << "yes" << endl;
        return 0;
    }else
    cout << "no" << endl;
    return 0;
}


这题不难,8分钟内,发给你