有一行电文,将第1个字母变成第26个字母,第i个字母变成(26-i+1)个字母…非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。
#include <iostream>
using namespace std;
int main()
{
int j,n;
char ch[80],tran[80];
cout<<"input cipher code:";
gets(ch);
cout<<"cipher code:"<<ch<<endl;
j=0;
while(ch[j]!='\0')
{
if((ch[j]>='A')&&(ch[j]<='Z'))
tran[j]=155-ch[j];
else if((ch[j]>='a')&&(ch[j]<='z'))
tran[j]=219-ch[j];
else
tran[j]=ch[j];
j++;
}
n=j;
cout<<"original text:";
for(j=0;j<n;j++)
putchar(tran[j]);
cout<<endl;
return 0;
}