华为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(字符串加解密)

所有情况都考虑进来,踏踏实实,一步一个脚印,网上也有简短的代码,但这是自己想出来滴,感觉慢慢积累,刷出了一丢丢成就感呢(虽然离大神们还是十万八千里)#include #include using na...

【华为 OJ 】字符串加解密

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

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

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

华为OJ训练之0035-170112-字符串加解密

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

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

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

华为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;...

C#字符串加解密源码

  • 2014年05月13日 10:23
  • 43KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为oj字符串加解密
举报原因:
原因补充:

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