题解 | #简单密码#

简单密码

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;
}
全部评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务