题意:
输入一个正整数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 }