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