华为OJ(字符串加解密)

来源:互联网 发布:非农数据 原油的影响 编辑:程序博客网 时间:2024/05/20 05:25

所有情况都考虑进来,踏踏实实,一步一个脚印,网上也有简短的代码,但这是自己想出来滴,感觉慢慢积累,刷出了一丢丢成就感呢(虽然离大神们还是十万八千里奋斗

谢谢,下面校友的提醒,现在已经测试通过。

#include<iostream>#include<string>using namespace std;void Encrypt (char aucPassword[], char aucResult[]);int unEncrypt (char result[], char password[]);int main(){//cout<<"Please input words to be encoded and decoded"<<endl;char aucPassword[100],aucResult[100],result[100],password[100];//string aucPassword,aucResult,result,password;cin>>aucPassword;cin>>result;Encrypt(aucPassword,aucResult);unEncrypt(result,password);return 0;}void Encrypt (char aucPassword[], char aucResult[]){char * pchar=aucPassword;int i=0;while(*pchar){if(*pchar>='a'&&*pchar<'z')*(i+aucResult)=*pchar-31;else if(*pchar>='A'&&*pchar<'Z')*(i+aucResult)=*pchar+31;else if(*pchar=='Z')*(i+aucResult)='a';else if(*pchar=='z')*(i+aucResult)='A';else if(*pchar>='0'&&*pchar<'9')*(i+aucResult)=*pchar+1;else if(*pchar=='9')*(i+aucResult)='0';pchar++;i++;}*(i+aucResult)=0;cout<<aucResult<<endl;}int unEncrypt (char result[], char password[]){char * pchar=result;
<span style="white-space:pre"></span>int len=strlen(result);char * aucResult=password;while(*pchar){if(*pchar>'a'&&*pchar<='z')*aucResult=*pchar-31;else if(*pchar>'A'&&*pchar<='Z')*aucResult=*pchar+31;else if(*pchar=='A')*aucResult='z';else if(*pchar=='a')*aucResult='Z';else if(*pchar>'0'&&*pchar<='9')*aucResult=*pchar-1;else if(*pchar=='0')*aucResult='9';pchar++;aucResult++;}*aucResult=0;cout<<(aucResult-len)<<endl;//原来写的是aucResult,估计当时是用的和Encrypt一样的办法,定义了i变量,后来想着可以直接修改指针,修改后忘记保存了//system("pause");return 0;}

0 0
原创粉丝点击