• ccf 201409-3 字符串匹配(toupper,tolower)


     ccf 201409-3 字符串匹配(toupper,tolower)

    问题描述
      给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
    输入格式
      输入的第一行包含一个字符串S,由大小写英文字母组成。
      第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
      第三行包含一个整数n,表示给出的文字的行数。
      接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。

    toupper,tolower
    地球人都知道 C++ 的 string 没有 toupper ,好在这不是个大问题,因为我们有 STL 算法:

    string s("heLLo");
    transform(s.begin(), s.end(), s.begin(), ::toupper);
    cout << s << endl;
    transform(s.begin(), s.end(), s.begin(), ::tolower);
    cout << s << endl;
    transform的头文件为algorithm

     1 #include<iostream>
     2 #include<cstring>
     3 #include<vector>
     4 #include<stdio.h>
     5 #include<algorithm>
     6 using namespace std;
     7 vector<string> ans;
     8 int main()
     9 {
    10     string aim;
    11     cin>>aim;
    12     int type,n;
    13     cin>>type>>n;
    14     getchar();
    15     if(type == 1)//大小写敏感
    16     {
    17         for(int i=0;i<n;i++)
    18         {
    19             string str;
    20             getline(cin,str);
    21             if(str.find(aim) != -1)
    22                 ans.push_back(str);
    23         }
    24     }
    25     else {
    26         transform(aim.begin(),aim.end(),aim.begin(),::tolower);
    27         for(int i=0;i<n;i++)
    28         {
    29 
    30             string temp;
    31             getline(cin,temp);
    32             string str = temp;
    33             transform(str.begin(),str.end(),str.begin(),::tolower);
    34             if(str.find(aim) != -1)
    35                 ans.push_back(temp);
    36         }
    37     }
    38     for(int i=0;i<ans.size();i++)
    39         cout<<ans[i]<<endl;
    40     return 0;
    41 }

  • 相关阅读:
    使用批处理文件轻松更改本地IP地址
    Aveiconifier是一个非常实用方便的制作ico格式文件的小工具~
    C#中选择文件的例子
    WindowsXP命令行修改服务启动选项
    Oracle中数据导入导出技巧
    hibernateTemplateOrder Results
    如何向 Microsoft 管理控制台添加证书管理器
    maven usages
    让Eclipse拥有像Visual Studio一样的强大的提示功能
    jsp页面跳转方法及区别
  • 原文地址:https://www.cnblogs.com/yxh-amysear/p/8538813.html
Copyright © 2020-2023  润新知