TOJ 1055: 簡單密碼破解

1055: 簡單密碼破解

描述

密碼是我們生活中非常重要的東東,我們的那麼一點不能說的祕密就全靠它了。哇哈哈.
接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。
假設淵子原來一個BBS上的密碼爲zvbo941987,爲了方便記憶,他通過一種算法把這個密碼變換成YUANzi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。
他是這麼變換的,大家都知道手機上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,聲明:密碼中沒有空格,而密碼中出現的大寫字母則邊成小寫之後往後移一位,如:X,先變成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,z往後移是a哦。

輸入

輸入包括多個測試數據。輸入是一個明文,密碼長度不超過100個字符,輸入直到文件結尾。

輸出

輸出淵子真正的密文。

樣例輸入

YUANzi1987

樣例輸出

zvbo941987

代碼

#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
int i,l;
while(gets(s))
{
l=strlen(s);
for(i=0;i<l;i++)
{
if(s[i]>='a'&&s[i]<='c')
printf("2");
else if(s[i]>='d'&&s[i]<='f')
printf("3");
else if(s[i]>='g'&&s[i]<='i')
printf("4");
else if(s[i]>='j'&&s[i]<='l')
printf("5");
else if(s[i]>='m'&&s[i]<='o')
printf("6");
else if(s[i]>='p'&&s[i]<='s')
printf("7");
else if(s[i]>='t'&&s[i]<='v')
printf("8");
else if(s[i]>='w'&&s[i]<='z')
printf("9");
   else if(s[i]>='A'&&s[i]<='Z')
{
s[i]=s[i]+32;
if(s[i]>='a'&&s[i]<='y')
s[i]=s[i]+1;
else
s[i]='a';
printf("%c",s[i]);
}
else
printf("%c",s[i]);
}
printf("\n");
}
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章