问题标题: 酷町堂:2853 字符串加密

0
0
已解决
史亚东
史亚东
新手守护
新手守护

题目描述 Description

给出一个字符串,现在要将它传输给另外一个人。但是为了保密,现在要将这个字符串加密之后再进行传输。加密规则是:

1,将ASCII码为偶数的小写字母变为大写

2,将字符串中的数字的位置左右对称地交换位置(对字符串"a1b2c3d4"应用此规则会变为"a4b3c2d1")

3,其余字符不作任何改变

现在请你输出经加密的字符串。

输入描述 Input Description

输入一个原始字符串

输出描述 Output Description

输出经加密的字符串

样例输入 Sample Input

 

#a12b3cd

样例输出 Sample Output

 

#a32B1cD

 

求解,谢谢


0
已采纳
叶子煊
叶子煊
中级光能
中级光能

哈喽啊

好,首先分析题目意思

1,将ASCII码为偶数的小写字母变为大写

2,将字符串中的数字的位置左右对称地交换位置(对字符串"a1b2c3d4"应用此规则会变为"a4b3c2d1")

这两点是我们要编译的,第三点可以先不看

首先对第一点进行编译

for循环//遍历整个字符串
{
    特判//ASCII值是否是偶数的小写字母
         a[i]=a[i]-32;//小写转换成大写
}

再对第二个进行编译

    赋值i=0,j=a.size()-1
    for(int i=0,j=a.size()-1;i<a.size(),j>=i;)
    {
        if()//特判a[i]是否为数字
        {
            if()//特判a[j]是否为数字
            {
                swap(a[i],a[j]);
                i++;
                j--;
            }
            else j--;
        }
        else i++;

    }

这个你可以消化一下,很简单,不懂可以再问

最后遍历输出

~~~~~~~~~~~~~~~~~~~~~~~~

望采纳!!!

0
0
0
我要回答