当前位置: 代码迷 >> 综合 >> pat a 1035
  详细解决方案

pat a 1035

热度:62   发布时间:2024-01-26 03:48:56.0

第二个测试点没有过的话,很有可能是在输出时直接复制了上面的话,然后仅修改了n
注意account和accounts还有is和are

#include <stdio.h>
#include <vector>
#include <cstring>
using namespace std;struct person{char name[20];char pass[20];
}node[1010];vector<person> modify;int main(){int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%s %s",node[i].name,node[i].pass);int len=strlen(node[i].pass);bool flag=false;for(int j=0;j<len;j++){char temp=node[i].pass[j];switch (temp){case '1':{node[i].pass[j]='@';flag=true;break;}case '0':{node[i].pass[j]='%';flag=true;break;}case 'l':{node[i].pass[j]='L';flag=true;break;}case 'O':{node[i].pass[j]='o';flag=true;break;}}}if(flag==true){modify.push_back(node[i]);}}int cnt=modify.size();if(cnt==0){if(n==1){printf("There is 1 account and no account is modified");}else{printf("There are %d accounts and no account is modified",n);}}else{printf("%d\n",cnt);for(int i=0;i<cnt;i++){printf("%s %s\n",modify[i].name,modify[i].pass);}}return 0;
}