• 【PAT甲级】1035 Password (20 分)


    题意:

    输入一个正整数N(<=1000),接着输入N行数据,每行包括一个ID和一个密码,长度不超过10的字符串,如果有歧义字符就将其修改。输出修改过多少组密码并按输入顺序输出ID和修改后的密码,如果没有修改过就输出There are N accounts and no account is modified。(根据样例如果N==1,are改成is并且accounts不加s)

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 char s[1007][17];
     5 char x[1007][17];
     6 int ans[1007];
     7 int main(){
     8     int n;
     9     cin>>n;
    10     int cnt=0;
    11     for(int i=1;i<=n;++i){
    12         cin>>x[i];
    13         cin>>s[i];
    14         int flag=0;
    15         for(int j=0;s[i][j]!=0;++j)
    16             if(s[i][j]=='1')
    17                 s[i][j]='@',flag=1;
    18             else if(s[i][j]=='0')
    19                 s[i][j]='%',flag=1;
    20             else if(s[i][j]=='l')
    21                 s[i][j]='L',flag=1;
    22             else if(s[i][j]=='O')
    23                 s[i][j]='o',flag=1;
    24         if(flag)
    25             ans[++cnt]=i;
    26     }
    27     if(!cnt&&n==1)
    28         cout<<"There is "<<n<<" account and no account is modified";
    29     else if(!cnt&&n>1)
    30         cout<<"There are "<<n<<" accounts and no account is modified";
    31     else{
    32         cout<<cnt<<"
    ";
    33         for(int i=1;i<=cnt;++i)
    34             cout<<x[ans[i]]<<" "<<s[ans[i]]<<"
    ";
    35     }
    36     return 0;
    37 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    4-17 文字图片绘制
    4-16 矩形圆形任意多边形绘制
    4-15 线段绘制
    4-14 图像特效小结
    4-13 油画特效
    4-12 颜色映射
    4-11 浮雕效果
    Linux文本截取命令cut​笔记
    45张令程序员泪流满面的趣图
    45张令程序员泪流满面的趣图
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11545381.html
Copyright © 2020-2023  润新知