华为OJ平台试题 —— 字符串:字符串加解密
2015-08-15 13:45
453 查看
字符串加解密
![](http://img.blog.csdn.net/20150815134453016)
代码:
注意: 如果将输入字符串和输出字符串格式改为scanf 和printf,在华为的系统会出现格式错误!
代码:
#include<stdio.h> #include<string.h> <img src="http://img.blog.csdn.net/20150815222027059" alt="" /> void Encrypt (char aucPassword[], char aucResult[]) { int len, i; len = strlen(aucPassword); for( i = 0; i < len +1; i++ ) { if ( aucPassword[i] >= '0' && aucPassword[i] <= '8' ) aucPassword[i] = aucPassword[i] + 1; else if ( aucPassword[i] == '9') aucPassword[i] = '0'; else if ( aucPassword[i] >= 'a' && aucPassword[i] <= 'y' ) aucPassword[i] = aucPassword[i] + 1 - 32; else if ( aucPassword[i] == 'z') aucPassword[i] = 'a' - 32; else if ( aucPassword[i] >= 'A' && aucPassword[i] <= 'Y' ) aucPassword[i] = aucPassword[i] + 1 + 32; else if ( aucPassword[i] == 'Z') aucPassword[i] = 'A' + 32; } strcpy(aucResult, aucPassword); } <img src="http://img.blog.csdn.net/20150815222038322" alt="" /> void unEncrypt (char result[], char password[]) { int len, i; len = strlen(result); for( i = 0; i < len + 1; i++ ) { if ( result[i] > 'A' && result[i] <= 'Z' ) /* ´óд×Öĸ */ result[i] = result[i] - 1 + 32; else if ( result[i] == 'A') /* ÌØÊâÇé¿ö */ result[i] = 'Z' + 32; else if ( result[i] >= 'b' && result[i] <= 'z' ) /* Сд×Öĸ */ result[i] = result[i] - 1 - 32; else if ( result[i] == 'a') /* ÌØÊâÇé¿ö */ result[i] = 'z' - 32; else if ( result[i] >= '1' && result[i] <= '9' ) result[i] = result[i] - 1; else if ( result[i] == '0') result[i] = '9'; } strcpy(password,result); } int main(void) { char sourceone[100], resultone[100], sourcetwo[100], resulttwo[100]; gets(sourceone); gets(sourcetwo); Encrypt(sourceone, resultone); unEncrypt (sourcetwo, resulttwo); puts(resultone); puts(resulttwo); }
注意: 如果将输入字符串和输出字符串格式改为scanf 和printf,在华为的系统会出现格式错误!
相关文章推荐
- 八大内部排序算法
- 上传超大文件--简单粗暴法
- 1.Two Sum
- CLHeading
- Openerp对象字段定义详解
- debug of diminant color coding with wrong function memset
- MongoDB 基本操作详解
- datareader几种用法总结
- 解决mongodb ISODate相差8小时问题
- C++基础---布尔型
- 华为OJ平台试题 —— 字符串:图片整理
- matlab 基础知识class < superclass_name
- 华为公司2012届校园招聘软件类上机考试样题 -初级题
- java语句
- iOS开发之OC内存管理
- 编程范式简单总结
- 15 个常用的 SQL Server 高级语法
- pl/sql Developer软件总结----待续
- .NET程序集强命名删除与再签名技术 源代码剖析
- 谈谈对于vmware Workstation 网络连接三种模式的认识.