题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <cctype> #include <iostream> using namespace std; //加密 void fun1(string str){ for(int i=0;i<str.length();i++){ if(isalpha(str[i])){ if(str[i]>='a'&&str[i]<='z'){ str[i]=toupper('a'+((str[i]-'a'+1)%26)); }else{ str[i]=tolower('A'+((str[i]-'A'+1)%26)); } }else if(isalnum(str[i])){ str[i]=(str[i]-'0'+1)%10+'0'; } } cout<<str<<endl;; } //解密 void fun2(string str){ for(int i=0;i<str.length();i++){ if(isalpha(str[i])){ if(str[i]>='a'&&str[i]<='z'){ str[i]=toupper('a'+((str[i]-'a'+25)%26)); }else{ str[i]=tolower('A'+((str[i]-'A'+25)%26)); } }else if(isalnum(str[i])){ str[i]=(str[i]-'0'+9)%10+'0'; } } cout<<str; } int main() { string a, b; cin>>a>>b; fun1(a); fun2(b); return 0; } // 64 位输出请用 printf("%lld")