华为oj字符串加解密

原创 2015年11月20日 16:42:44
#include<iostream>
#include<string.h>
#define N  100
using namespace std;
void Encrypt(char auPassword[],char aucResult[])
{
	while((*auPassword) != '\0')
    {
    	int asc = (int)(*auPassword);
    	if(asc>=48&&asc<=57)  //按照数字处理 
    	{
    		if(asc != 57) //不是9 
    		{
    			cout<<char(++asc);
    			*aucResult = char(++asc);
    		}
    		else
    		{
    			cout<<0;
    			*aucResult = '0';
    		}
    		
    	}
    	else  //字母处理 
		{
			if(asc>=97&&asc<=122) //原来是小写字母 
			{
				if(asc != 122)
				 {
				    cout<<(char)toupper(++asc);
				    *aucResult = (char)toupper(++asc);
				}
				else
				 {
				     cout<<'A';
				     *aucResult = 'A'; 
				 }
			} 
			else  //原来是大写字母 
			{
				if(asc != 90) 
				{
					cout<<(char)tolower(++asc);
					*aucResult = (char)tolower(++asc);
				}
				else
				{
				    cout<<'a';
				    *aucResult = 'a';
				}
			}
		} 
		++auPassword; 
		++aucResult;
    }
} 

int unEncrypt(char result[],char password[])
{
	while((*password) != '\0')
    {
    	int asc = (int)(*password);
    	if(asc>=48&&asc<=57)  //按照数字处理 
    	{
    		if(asc != 48) //不是9 
    		{
    			cout<<char(--asc);
    			*result = char(--asc);
    		}
    		else
    		{
    			cout<<9;
    			*result = '9';
    		}
    		
    	}
    	else  //字母处理 
		{
			if(asc>=97&&asc<=122) //原来是小写字母 
			{
				if(asc != 97)
				 {
				    cout<<(char)toupper(--asc);
				    *result = (char)toupper(--asc);
				}
				else
				 {
				     cout<<'Z';
				     *result = 'Z'; 
				 }
			} 
			else  //原来是大写字母 
			{
				if(asc != 65) 
				{
					cout<<(char)tolower(--asc);
					*result = (char)tolower(--asc);
				}
				else
				{
				    cout<<'z';
				    *result = 'z';
				}
			}
		} 
		++password; 
		++result;
    }
    return 1;
}
int main()
{
	char data[N],kdata[N],aucResult[N],result[N];
	int k;
	cin>>data>>kdata;
	Encrypt(data,aucResult);
	cout<<endl;
	k = unEncrypt(result,kdata);
	return 0;
} 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【华为 OJ 】字符串加解密

1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字...

[华为OJ--C++]023-字符串加解密

题目描述:对输入的字符串进行加解密,并输出。(字符串中只含有英文字母和数字) 加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母...

华为OJ平台题:字符串加解密

描述 题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则...

【华为OJ】【023-字符串加解密】

【华为OJ】【算法总篇章】【华为OJ】【023-字符串加解密】【工程下载】题目描述1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换...

华为OJ——字符串加解密

字符串加解密 题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容...

华为oj:字符串加解密

/* 描述 题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;...

华为OJ——字符串加解密

题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;...

android中使用jni对字符串加解密实现分析

鉴于完全使用C/C++代码进行字符串的加解密,我们需要考虑不同系统平台上数据类型的差异问题,这里推荐另一种易于实现的方法,即使用Java中的AES加解密逻辑,而将AES加解密所需要的核心秘钥放入到C中...

C#对字符串的加解密

本片文章使用一种简单的方式来演示对数据的加解密 由于,代码比较简单 我就废话不多了,直接上代码的了 string myEnounce = ""; //需要被加密的字符串 ...

字符串加解密 算法

/* 题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)