已解决问题

c++小程序

[ 标签:c++,c++ 程序,程序 ]
题目:编制程序,将输入的一行字符以加密的形式输出,然后将其解密,解密的字符序列与输入的正文进行比较,吻合时输出解密的正文,否则输出解密失败。
加密时,将每个字符的ASC码依次反复加上“4962873”中的数字,并在32('')~122('z')之间做模运算。解密与加密的顺序相反。例如,对于输入正文"the result of 3 and 2 is not 8",则运行结果为:
xqk zlvyuzqn 6$jtf(9#m!&pw #
the result of 3 and 2 is not 8
匿名 回答:1 人气:36 解决时间:2009-03-06 21:05
  
满意答案
我做过原题,给你发下吧

#include <iostream>
using namespace std;

const short key[]={4,9,6,2,8,7,3};

void encode(char str[])
{
for(int i=0;str[i];i++){
str[i]+=key[i%7];
if(str[i]>122) str[i]-=91;
}
return;
}
void decode(char str[])
{
for(int i=0;str[i];i++){
str[i]-=key[i%7];
if(str[i]<32) str[i]+=91;
}
return;
}

int main ()
{
char str[256];
cin.getline(str,256);
encode(str);
cout<<str<<endl;
decode(str);
cout<<str<<endl;
return 0;
}
2009-03-06 21:00
评价答案
  • 是否解决问题(参与评价0次)
  • 0
  • 0
  • 0
  • 是否原创答案(参与评价0次)
  • 0
  • 0
提问人的感言:
代码不错,谢谢兄弟~~~

相关内容