【1035】Password (20 分)

#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#include<queue> using namespace std; //判断密码是否需要修改,注意对结构体的使用和函数的结构化struct node{ char name[20],password[20]; bool ischange; //ischange==true表示password已被修改}T[1005];//crypt函数判断t的password是否需要被修改,若需要则对其修改并令计数器cnt加1void crypt(node& t,int& cnt){ int len=strlen(t.password); for(int i=0;i<len;i++){//枚举password的每一位 if(t.password[i]==’1′){ t.password[i]=’@’; t.ischange=true; }else if(t.password[i]==’0′){ t.password[i]=’%’; t.ischange=true; } else if(t.password[i]==’l’){ t.password[i]=’L’; t.ischange=true; }else if(t.password[i]==’O’){ t.password[i]=’o’; t.ischange=true; } } if(t.ischange){ //如果t的password已修改,则令计数器cnt加1 cnt++; }}int main(){ int n,cnt=0;//cnt记录需要修改的password个数 scanf(“%d”,&n); for(int i=0;i<n;i++){ scanf(“%s %s”,T[i].name,T[i].password); T[i].ischange=false; //初始化所有密码未修改 } for(int i=0;i<n;i++){ crypt(T[i],cnt); //对T[i]的password判断是否需要修改 } if(cnt==0){ //没有password需要修改 if(n==1){ printf(“There is %d account and no account is modified”,n); }else{ //注意这里account的单复数和is/are的使用 printf(“There are %d accounts and no account is modified”,n); } }else{ //如果有password需要修改 printf(“%d\n”,cnt); //修改的password个数 for(int i=0;i<=n;i++){ //如果T[i]的password需要修改,则输出name和password if(T[i].ischange){ printf(“%s %s\n”,T[i].name,T[i].password); } } } system(“pause”); return 0; }

【文章原创作者:韩国服务器租用 lg.html 复制请保留原URL】夫妇一条心,泥土变黄金。

【1035】Password (20 分)

相关文章:

你感兴趣的文章:

标签云: