题解 | #简单密码#
简单密码
http://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
/*变换规则
(1)大写字母变成小写字母并向后移一位
(2)小写字母变成九键输入的对应数字
(3)数字和其他符号不变(密码中没有空格)
*/
#include <stdio.h>
#include <string.h>
int main(){
char str[101];
while(scanf("%s",str) != EOF){
int len = strlen(str);
for(int i = 0; i < len; i++){
if(isupper(str[i])){ //大写字母
if(str[i] == 'Z') str[i] = 'a';
else str[i] = str[i] + 33;
}
else if(islower(str[i])){ //小写字母
if(str[i] >= 'a' && str[i] <= 'c') str[i] = '2';
else if(str[i] >= 'd' && str[i] <= 'f') str[i] = '3';
else if(str[i] >= 'g' && str[i] <= 'i') str[i] = '4';
else if(str[i] >= 'j' && str[i] <= 'l') str[i] = '5';
else if(str[i] >= 'm' && str[i] <= 'o') str[i] = '6';
else if(str[i] >= 'p' && str[i] <= 's') str[i] = '7';
else if(str[i] >= 't' && str[i] <= 'v') str[i] = '8';
else if(str[i] >= 'w' && str[i] <= 'z') str[i] = '9';
}
}
puts(str);
}
return 0;
}