华为oj_字符串加密
2015-09-03 10:46
344 查看
#include <iostream> #include <cctype> #include <cstdio> #include <cstring> #define M 100 using namespace std; int s[26]; int i,j,k,len; char stemp[M]; void encrypt1(char * key,char * data,char * encrypt) { memset(s,0,sizeof(s)); len=strlen(key); k=0; for(i=0;i<len;i++) { j=toupper(key[i])-'A'; if(s[j]==0) { stemp[k++]=key[i]; s[j]=1; } } for(i=0;i<26;i++) { if(s[i]==0) stemp[k++]='A'+i; } len=strlen(data); for(i=0;i<len;i++) { if(isupper(data[i])) encrypt[i]=stemp[static_cast<int>(data[i]-'A')]; else if(islower(data[i])) encrypt[i]=stemp[static_cast<int>(data[i]-'a')]+'a'-'A'; else encrypt[i]=data[i]; } encrypt[i]='\0'; } int main() { char key[M],data[M],encrypt[M]; while(cin>>key) { getchar(); cin>>data; encrypt1(key,data,encrypt); cout<<encrypt<<endl; memset(encrypt,0,sizeof(encrypt)); memset(stemp,0,sizeof(encrypt)); } return 0; } /*此题要使用原版接口,所以用C++做提交有问题 #include <iostream> #include <cctype> #include <cstdio> #include <cstring> using namespace std; int main() { int s[26]; char c; int i,j,len; string key,data,stemp,encrypt; while(cin>>key) { getchar(); getline(cin,data); memset(s,0,sizeof(s)); len=key.length(); for(i=0;i<len;i++) { j=toupper(key[i])-'A'; if(s[j]==0) { stemp.push_back(toupper(key[i])); s[j]=1; } } for(i=0;i<26;i++) { if(s[i]==0) { c='A'+i; stemp.push_back(c); } } len=data.length(); for(i=0;i<len;i++) { if(isupper(data[i])) encrypt.push_back(stemp[static_cast<int>(data[i]-'A')]); else if(islower(data[i])) encrypt.push_back(stemp[static_cast<int>(data[i]-'a')]+'a'-'A'); else encrypt.push_back(data[i]); } cout<<encrypt<<endl; encrypt.clear(); stemp.clear(); } return 0; } */
相关文章推荐
- python核心编程(第二版)习题_第三章
- HDU 1176 免费馅饼(简单DP,数塔变形)
- 通过mysql show processlist 命令检查mysql锁的方法
- Exception starting filter login Unable to load configuration. - action
- IOS 传感器简单介绍
- windows server 2008 R2 禁用ipv6和隧道适配器
- UIColor的小技巧
- 华为oj_蛇形矩阵
- 华为oj_字符串加解密
- 华为oj_(练习用)挑7
- FreeSWITCH - mod_xml_rpc源码分析一socket_win.c
- Socket实现简易聊天室
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
- [算法] 排序方法复杂度、稳定性汇总
- set结构及命令详解
- 刚开始学习Android遇到的一些问题---主要安卓环境安装Androidstudio以及模拟器测试真机测试
- TCP和UDP的那些事
- 华为oj_名字的漂亮度
- hdu 5424 dfs
- ubuntu 下adb devices找不到设备