PAT_甲级_1035 Password

题目要求:

给定n个人的用户名和密码,按照要求替换密码中的特定字符(1 (one) by @, 0 (zero) by %, l by L, and O by o),如果不存在需要修改的密码,则需要根据单复数输出There is(are) 1(n) account(s) and no account is modified

算法思路:

在输入密码的时候就遍历该密码的每一个字符,使用flag标记该密码是否需要修改,如果修改过就使用vector modified保存修改过的字符串(username+password),其大小可以用来判断修改过的密码的多少 ,最后按照modified.size()是否为0来进行不同的输出即可。

提交结果:

PAT_甲级_1035 Password_第1张图片

AC代码:
#include
#include
#include
#include

using namespace std;

vector modified;//用于保存修改过的字符串(username+password),其大小可以用来判断修改过的密码的多少 

int main(){
    int n;//密码总数
    cin>>n;
    string username,password;
    for(int i=0;i>username>>password;//修改密码中的1 (one) by @, 0 (zero) by %, l by L, and O by o 
        bool flag = false;//判断是否被修改 
        for(int j=0;j1){
            cout<<"There are "<

你可能感兴趣的:(算法-数据结构,c++)