2 条题解

  • 0
    @ 2023-8-9 10:28:12
    #include <bits/stdc++.h>
    using namespace std;
    int l;
    int main()
    {
        string s;
        getline(cin,s);
        l = s.size();
        if ((s[0] != '_' && (s[0] < 'a' && s[0] > 'Z')  || s[0] > 'z' || s[0] < 'A') || (s == "int" || s == "double" || s == "cin" || s == "cout"))
        {
            cout << "no";
            return 0;
        }
        for (int i = 1;i < l;i++)
        {
            if (s[i] != '_' && !((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= '0' && s[i]<= '9')))
            {
                cout << "no";
                return 0;
            }
        }
        cout << "yes";
        return 0;
    }
    
    • -1
      @ 2024-1-31 13:08:50

      字符串函数大杂烩

      初学者必看🎉️

      /*
        主要函数:find(要查找的字符串s)
                 作用:查找字符串s,找到则返回该字符串第一次找到的下标,没找到则返回-1
                 islower(字符)
                 作用:如该字符是小写字母,则返回true,否则返回false
                 isupper(字符)
                 作用:如该字符是大写字母,则返回true,否则返回false
                 isdigit(字符)
                 作用:如该字符是数字字母,则返回true,否则返回false
                 getline(cin,输入的字符串)
                 作用:可以输入带空格的字符串
      */
      #include <bits/stdc++.h>
      using namespace std;
      string s;//字符串变量
      int INT,DOUBLE,COUT,CIN;//定义变量,用途为下图所示:
      /*INT变量->用来判断是否有int出现
      DOUBLE变量->用来判断是否有double出现
      COUT变量->用来判断是否有cout出现
      CIN变量->用来判断是否有cin出现
      (如何判断————见————主要函数)
      
      */
      int main(){
          getline(cin,s);//由于里面可能有空格,使用getline()
          INT=s.find("int");//查找是否有关键词语
          DOUBLE=s.find("double");
          COUT=s.find("cout");
          CIN=s.find("cin");
          if (INT==-1&&DOUBLE==-1&&COUT==-1&&CIN==-1&&!isdigit(s[0])){
              //如果并无发现关键单词且第一个字符不是数字
              for (int i=0;i<(int)s.size();i++){//循环求解
                  if (!islower(s[i])&&!isupper(s[i])&&!isdigit(s[i])&&s[i]!='_'){
                  //如果该单词既不是字母(可以用isalpha()来做)也不是数字与下划线
                      cout<<"no";//不是合法的字符串
                      exit(0);//停止程序
                  }
              }
          }else{
              cout<<"no";//包含关键单词也输出no
              return 0;
          }
          cout<<"yes";//输出yes
          return 0;
      }
      //已AC,放心食用
      

      代码如下

      #include <bits/stdc++.h>
      using namespace std;
      string s;
      int INT,DOUBLE,COUT,CIN;
      bool flag;
      int main(){
          getline(cin,s);
          INT=s.find("int");
          DOUBLE=s.find("double");
          COUT=s.find("cout");
          CIN=s.find("cin");
          if (INT==-1&&DOUBLE==-1&&COUT==-1&&CIN==-1&&!isdigit(s[0])){
              for (int i=0;i<(int)s.size();i++){
                  if (!islower(s[i])&&!isupper(s[i])&&!isdigit(s[i])&&s[i]!='_'){
                      cout<<"no";
                      exit(0);
                  }
              }
          }else{
              cout<<"no";
              return 0;
          }
          cout<<"yes";
          return 0;
      }
      
      • 1

      信息

      ID
      405
      时间
      1000ms
      内存
      16MiB
      难度
      3
      标签
      递交数
      49
      已通过
      28
      上传者