题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#import <Foundation/Foundation.h>
void encrypt( char* str ) {
for ( int i = 0; str[i]; i++ ) {
if ( str[i] >= 'a' && str[i] < 'z' )
str[i] = str[i] + 1 - 32;
else if ( str[i] >= 'A' && str[i] < 'Z' )
str[i] = str[i] + 1 + 32;
else if ( str[i] >= '0' && str[i] < '9')
str[i] = str[i] + 1;
else if ( str[i] == 'z' )
str[i] = 'a' - 32;
else if ( str[i] == 'Z' )
str[i] = 'A' + 32;
else if ( str[i] == '9' )
str[i] = '0';
}
}
void decrypt(char* str ) {
for ( int i = 0; str[i]; i++ ) {
if ( str[i] > 'a' && str[i] <= 'z' )
str[i] = str[i] - 1 - 32;
else if ( str[i] > 'A' && str[i] <= 'Z' )
str[i] = str[i] - 1 + 32;
else if ( str[i] > '0' && str[i] <= '9')
str[i] = str[i] - 1;
else if ( str[i] == 'a' )
str[i] = 'z' - 32;
else if ( str[i] == 'A' )
str[i] = 'Z' + 32;
else if ( str[i] == '0' )
str[i] = '9';
}
}
int main(int argc, char* argv[]) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
char str1[1000];
char str2[1000];
gets(str1);
gets(str2);
encrypt(str1);
decrypt(str2);
printf("%s\n%s\n", str1, str2);
[pool drain];
return 0;
}
查看9道真题和解析