chenhy1201 2021-10-28 15:35 采纳率: 100%
浏览 126
已结题

输入格式 输入包括多个测试数据,输入是一个明文,密码长度不超过80个字符。 输出格式 输出老王真正的密文。下面的这个代码只能输出老王的密码其他的的就不可以了,不知道咋办了

假设老王原来一个BBS上的密码为zvbo941987,为了方便记忆,他通过一种算法把这个密码变换成YUANzi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,老王把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,声明:密码中没有空格,而密码中出现的大写字母则边成小写之后往后移一位,如:X,先边成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。


#include<iostream>
using namespace std;

int main(){
    char a[10];
    for (int i = 0; i < 10; i++)
    {
        cin >> a[i];
    }
    for (int i = 0; i < 4; i++) {
        if (a[i] >= 65 && a[i] < 96)
            a[i] += 33;
        else if(a[i]=96)
            a[i]=97;
    }
    for(int i=4;i<6;i++){
        if (a[i] == 'a' || a[i] == 'b' || a[i] == 'c')
            a[i] = '2';
        else if (a[i] == 'd' || a[i] == 'e' || a[i] == 'f')
            a[i] = '3';
        else if (a[i] == 'g' || a[i] == 'h' || a[i] == 'i')
            a[i] = '4';
        else if (a[i] == 'j' || a[i] == 'k' || a[i] == 'l')
            a[i] = '5';
        else if (a[i] == 'm' || a[i] == 'n' || a[i] == 'o')
            a[i] = '6';
        else if (a[i] == 'p' || a[i] == 'q' || a[i] == 'r' || a[i] == 's')
            a[i] = '7';
        else if (a[i] == 't' || a[i] == 'u' || a[i] == 'v')
            a[i] = '8';
        else if (a[i] == 'w' || a[i] == 'x' || a[i] == 'y' || a[i] == 'z')
            a[i] = '9';
        }
    for (int i = 0; i < 10; i++){
        cout << a[i]; }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-10-28 15:56
    关注
    #include<iostream>
    #include<cstring>
    using namespace std;
    char a[82];
    int main() {
        cin>>a;
        int lena=strlen(a);
        for (int i = 0; i < lena; i++) {
            if (a[i] >= 'A' && a[i] <='Z'){
                a[i] += 33;
                if(a[i]>'z')
                    a[i]='a';
            }else if (a[i] == 'a' || a[i] == 'b' || a[i] == 'c')
                a[i] = '2';
            else if (a[i] == 'd' || a[i] == 'e' || a[i] == 'f')
                a[i] = '3';
            else if (a[i] == 'g' || a[i] == 'h' || a[i] == 'i')
                a[i] = '4';
            else if (a[i] == 'j' || a[i] == 'k' || a[i] == 'l')
                a[i] = '5';
            else if (a[i] == 'm' || a[i] == 'n' || a[i] == 'o')
                a[i] = '6';
            else if (a[i] == 'p' || a[i] == 'q' || a[i] == 'r' || a[i] == 's')
                a[i] = '7';
            else if (a[i] == 't' || a[i] == 'u' || a[i] == 'v')
                a[i] = '8';
            else if (a[i] == 'w' || a[i] == 'x' || a[i] == 'y' || a[i] == 'z')
                a[i] = '9';    
        }
        for (int i = 0; i < lena; i++) {
            cout << a[i];
        }
        return 0;
    }
    

    觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测