描述:
近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。
输入:
第一行为你的email地址,长度不超过50个字符且只包含字母、数字和‘@’符号。
第二行为账号数N,N(0 < N < 10000)。
接下来N行,每行表示一个账号,格式为:
用户名 密码 email
它们之间用单个空格分开。用户名、密码、email均不含空格,且长度不超过50个字符。输出:
有若干行,每行为你的一个账号,包括:你的账号,修改后的密码(之间用单个空格分隔)。
如果没有你的账号,则输出empty。
样例输入:
样例输入1: [email protected] 5 helloKitty iLoveCats [email protected] 2012 maya2012 [email protected] KittyCat 5iKitty [email protected] program password [email protected] whoAmi Feb.29$ [email protected] 样例输入2: [email protected] 1 2012 maya2012 [email protected]样例输出:
样例输出1: helloKitty IlOVEcATS KittyCat 5IkITTY whoAmi fEB.29$ 样例输出2: empty
算法:
#include <stdio.h> #include <string.h> #include <math.h> #define MAX 101 int main() { char YouEmail[MAX]; //你的email char root[MAX]; //用户名 char password[MAX]; //账号 char email[MAX]; //email int tot=0; gets(YouEmail); int n,i,j; scanf("%d", &n); for(j=1;j<=n;j++) { scanf("%s",root); scanf("%s",password); scanf("%s",email); if(strcmp(YouEmail,email)==0)//找到相同邮箱 { int l=strlen(password); for(i=0;i<l;i++) { if(password[i]>=65&&password[i]<=90)password[i]=password[i]+32; else if(password[i]>=97&&password[i]<=122)password[i]=password[i]-32; }//大小写转换 printf("%s %s\n",root,password); tot++; } } if(tot==0) { printf("empty"); return 0; } return 0; }