zoukankan      html  css  js  c++  java
  • PAT-字符串处理-A 1035 Password (20分)

    题目:

    思路:

      将用户名和密码一起读入到字符串,然后对字符串进行遍历,依据题目对字符串进行改变,将改变的字符串存储到向量中,最后依据向量的大小分别依据题意进行输出

    注意点:

      当没有需要修改二点密码时,需注意带到输出语句的单复数

    代码:

     1 #include<iostream>
     2 #include<vector>
     3 #include<string>
     4 #include<unordered_map>
     5 #include<algorithm>
     6 using namespace std;
     7 
     8 int main()
     9 {
    10     int num, count = 0;
    11     vector<string> res;
    12 
    13     scanf("%d", &num);
    14 
    15     for (int i = 0;i < num;i++)
    16     {
    17         //读入存储输入数据
    18         string temp, name, password;
    19         cin >> name >> password;
    20         temp = name + ' ' + password;
    21 
    22         //标记语是否需修改
    23         bool flag = true;
    24         //遍历字符串,对需要修改的进行修改
    25         for(int j=temp.size()-1;i>=0;j--)
    26         {
    27             switch (temp[j])
    28             {
    29             case '1':
    30                 temp[j] = '@';
    31                 flag = false;
    32                 break;
    33             case '0':
    34                 temp[j] = '%';
    35                 flag = false;
    36                 break;
    37             case 'l':
    38                 temp[j] = 'L';
    39                 flag = false;
    40                 break;
    41             case 'O':
    42                 temp[j] = 'o';
    43                 flag = false;
    44                 break;
    45             }
    46 
    47             //在空格处中断,不进行到用户名
    48             if (temp[j] == ' ')break;
    49         }
    50 
    51         //添加修改的字符串
    52         if (!flag)res.push_back(temp);
    53     }
    54 
    55     //依据向量的大小分别进行输出1
    56     if (!res.size())
    57     {
    58         //注意输出语句额单复数
    59         if (num > 1)printf("There are %d accounts and no account is modified",num);
    60         else printf("There is 1 account and no account is modified");
    61     }
    62     else
    63     {
    64         //遍历输出
    65         cout << res.size() << endl;
    66         for (int i = 0;i < res.size();i++)
    67         {
    68             cout << res[i] << endl;
    69         }
    70     }
    71     return 0;
    72 }
    View Code
  • 相关阅读:
    EF fluent API如何配置主键不自动增长
    简单的自定义Session
    使用NPOI,完成数据的导入导出
    c#索引器
    MUI框架 picker日期选择器实例
    使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。
    Newtonsoft.Json
    NetMQ:.NET轻量级消息队列
    C#之RabbitMQ系列(一)
    C# 核心语法-反射(反射类型、方法、构造函数、属性,实现可配置可扩展,完成数据库访问类反射封装)
  • 原文地址:https://www.cnblogs.com/fangzhiyou/p/12495231.html
Copyright © 2011-2022 走看看